git学习

2023-05-16

1.git和svn的区别

svn是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器,集中式 版本控制系统是必须联网才能工作,对网络要求比较高

git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上,协同的方法是这样的:比如自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需要吧各自的修改推送给对方,就可以互相看到对方的修改了

git是目前世界上最先进的分布式版本控制系统

2.git配置

查看配置: git config -l

查看不同级别的配置文件:

git config --system --list

查看当前用户(global)配置

git config --global --list

git相关配置文文件:

1)D:\git\Git\etc\gitconfig:git安装目录下的gitconfig --system 系统级

2)C:\Users\Administrator\.gitconfig:只适用于当前登录用户的配置 --global 全局

设置用户名与邮箱

git config --global user.name "yangao"

git config --global user.email 1213192588@qq.com

3.git基本理论

工作区域:git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repositoryz或Git Directory),如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域

工作流程:

工作目录:平时存放项目代码的地方

暂存区:临时存放你的改动,只是一个文件,保存即将提交到文件列表信息

资源库:安全存放数据的位置,这里面有提交所有版本的数据,其中HEAD指向最新放入参考的版本

远程仓库:托管代码的服务器

git管理文件的三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

4.git项目搭建

 本地仓库搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库

1)创建全新的仓库,需要用git管理的项目的根目录执行:

git init

2)克隆远程仓库

git clone [url]

5.git文件操作

文件4中状态

Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged

Unmodify:文件已经入库,未修改,如果被修改,状态为:Modified,如果使用git rm移出版本库,则成为Untracked 文件

Modified:文件已修改,仅仅只是修改,通过 git add可进入暂存 staged状态,使用git checkout,则是从库中取出文件,覆盖当前修改,返回到Unmodify状态

Staged:暂存状态,执行git commit则将修改同步到库中,这时候库中的文件和本地文件是一致的状态,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified

1)查看文件状态

git status [filename]

 2)查看所有文件状态

git status

git add .  #添加所有文件到暂存区

git commi t -m "备注消息"  #提交暂存区的内容到本地仓库

3)忽略文件

*.txt  #忽略所有.txt结尾的文件

!lib.txt  #除了lib.txt除外

/temp  #仅忽略项目根目录下的TODO文件,不包括其他目录temp

build/  #忽略build/目录下的所有文件

doc/*.txt  #忽略doc/notes.txt 但不包括doc/server/arch.txt 

 6.使用码云

1)注册登录码云,完善个人信息

2)设置本机绑定SSH公钥,实现免密码登录

#进入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git学习 的相关文章

  • 如何在没有本地存储库的情况下在远程运行 git 命令

    我有一个名为 git export 的脚本 它可以帮助我导出远程存储库 它是这样运行的 git export http host com git repo lt t tag or b branch or c commit gt local
  • git tag --contains 如何工作?

    从几天前开始 我一直在尝试确定在哪个版本 由标签指定 中部署了特定修复 由提交指定 这里的一些帖子发布了这一点git tag contains是收集这些信息的方法 但是选项的文档 https git scm com docs git tag
  • 为什么我的存储库的 github 页面中没有出现问题选项卡?

    我想在 github 存储库中创建问题来纠正存储库中的技术债务 我看不到问题选项卡 对于其他存储库 问题选项卡显示在拉取请求选项卡下方 如何为我的存储库启用问题选项卡 您必须先启用问题 您可以通过点击来做到这一点Settings并启用 问题
  • 更改 Windows 安装的 Git Bash 中 ~ 目录的位置

    我什至不确定我问的是正确的问题 让我解释一下我的情况 这是关于 Windows 7 上的 Git 我的公司在网络驱动器上设置 Windows 用户目录 而不是在本地硬盘驱动器上 用于备份和超出本问题范围的其他目的 我无法改变这项政策 然而
  • 如何在Git中手动合并所有文件?

    我想合并所有文件manually有了 meld 或任何其他 diff 工具 我如何使用 Git 来做到这一点 当我跑步时git mergetool它说no files need merging 所以我想只有当我有冲突时我才能做到这一点 有更
  • 将代码从没有权限的存储库推送到私有存储库?

    我有一个来自外部存储库 我们称之为 ExRepo 的文件夹 我没有任何推送权限 我有一个名为 MyOwnRepo 的个人存储库 如何获取 ExRepo 并将其合并到 MyOwnRepo 中 我已经尝试过这个 C Users
  • 无法快速删除 Git 中的许多文件

    我删除了 Git 分支中的 777 个文件新功能 by rm example 我愿意承诺 Git 要求我手动删除每个已删除的文件 git rm file 对于所有名称不相似的 777 个文件 编写上述命令将花费大量时间 如何删除我的 Git
  • git commit -m 与 git commit -am

    看起来很容易 但我就是不明白 我在我的应用程序的根目录中 这是我的工作流程 git add git commit m added a new feature some files changed git push heroku master
  • 如何克隆没有提交的裸 git 存储库并在克隆过程中获取正确的 HEAD 引用?

    这个答案 https stackoverflow com a 26898059 438273声称该问题已在版本中修复1 8 4 3 但是我在版本中还是遇到了2 25 1 它似乎在版本中按预期工作2 32 0 所以我不确定它是什么时候真正修复
  • git 标签也会被推送吗?

    自从我创建了我的存储库以来 我所使用的标签似乎 创建不会被推送到存储库 当我做git tag于 本地目录所有标签都存在 但是当我登录到 远程存储库并执行git tag 仅出现前几个 可能是什么问题 你可以这样做 git push tags
  • Git 只获取一个目录

    我有一名开发人员负责一个文件夹 另一名开发人员负责另一个文件夹 我想使用特定文件夹更新产品 我正在寻找类似的命令 cd myproject git pull myfolder 并期望只有 myfolder 会被更新 是否可以 好吧 我重新表
  • 自给定提交以来 git 中的作者列表

    我想要一种列出所有 git 作者的方法 仅自给定提交以来 是独特的 这两个很简单 我在网上看到过一些解决方案 大多数使用git log format 但我看到的都不符合附加要求 按提交日期排序 因此 如果约翰 史密斯 John Smith
  • 撤消多个文件和文件夹“git add”[重复]

    这个问题在这里已经有答案了 我执行了 git add 现在我想恢复 git add 我怎样才能做到这一点 git reset 这相当于git reset HEAD 将取消 add 更常见的是 取消暂存 所有文件 In Git revert用
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 是否可以使用“最小”算法进行交互式添加?

    当从快照计算变更集时 Git 并不总是正确选择块边界 git diff has a diff algorithm允许在这方面进行一些调整的选项 git diff minimal有时会给出比git diff alone 有没有办法获得相同的优
  • 防止在 Git 中签出

    我目前正在研究使用 Git 管理 OpenInsight 应用程序的源代码 由于 OI 代码存储在数据库表中 因此需要进行一定量的手动工作才能将源代码导出为文本 反之亦然 到目前为止 我已经成功地使用 Git 挂钩自动化了很多这项工作 但是
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • 获取 git 存储库中每个文件的提交计数

    我正在寻找一种方法来查看有关 git 存储库中每个文件更改频率的统计信息 基本上 文件提交的频率实际上与以前的版本不同 此外 有没有办法获取文件上次更改的日期 我是一个 git 新手 还没有发现任何关于此的信息 任何帮助将不胜感激 这里有两
  • 反向合并具有干净历史记录的缝合功能分支

    我有这个 d0 f1 d1 d2 f2 d3 merge d4 f3 merge
  • 如何在“git-pull”自动合并后更改提交消息?

    有时 当结果生成自动合并时 我的协作者会 惊慌 git pull 然后接受默认的提交消息 在推送此提交之前 我想确保该消息得到修复 但是 amend似乎不起作用 修复这种情况下生成的消息的最佳方法是什么 我能为他们提供的最佳指示是 git

随机推荐

  • Vim技巧-多行缩进

    向前或向后缩进4个空格 按shift 43 v组合键进入Visual Line模式 xff0c 可使用方向键选择多行 xff1b 按 lt 或 gt xff0c 进行向前或向后缩进 注 xff1a 有些设置为缩进一个Tab单位 向前或向后缩
  • nginx 配置git server http clone服务,并通过反向代理访问

    要做一个通过踏板机的ip进行git代码的上传与下载 xff0c 所以思路不是踏板机上安装nginx反向代理 xff0c 并且linux服务器也需要提供http方式的访问git xff0c ssh方向不知道怎么进行反向代理 linux服务器也
  • ESP8266 Windows开发环境搭建(IDE1.5)好用不骗人

    最近一个项目需要用ESP8266 xff0c 找了很多文章进行环境搭建编译都很问题 xff0c 不是make Menuconfig 不出来 xff0c 就是编译报错 xff0c 现总结如下 我在自己电脑上没弄出来 xff0c 就安装了一个虚
  • React-Native run-android报错以及adb 命令不识别

    在遇到adb 命令不识别 xff0c 或者genymotion的模拟器不识别 xff0c 找不到的问题 都是genymotion配置的不正确 打开genymotion的adb设置 xff0c androidSDK的配置选择自己下载的andr
  • android 浏览器 打开本地html文件的方法

    android 浏览器 打开本地html文件的方法有些html文件放在本地磁盘和sdcard xff0c 如何用打开这个网页呢 xff1f 这种应用在测试时非常有用 有 xff12 个方法 xff1a xff11 使用文件管理器 如ES等
  • 中国各主要大城市经纬度数据

    lt p gt 1 中国各主要大城市经纬度数据 xff1a lt br gt 北京市市中心经纬度 116 41667 39 91667 lt br gt 上海市区经纬度 121 43333 34 50000 lt br gt 天津市区经纬度
  • C# 中关闭当前线程的四种方式

    net类库已经帮助我们实现了窗口的关闭 xff0c 如果此窗口是系统的主窗口 xff0c 关闭此窗口即应该退出了整个应用程序 但事实上有时候并不是这样的 xff0c 关闭窗口 xff0c 只是停止了当前窗口的消息循环 系统主窗口 xff0c
  • linux+live555搭建rtsp服务器

    linux 43 live555搭建rtsp服务器 下载并解压接下来生成Make文件 xff0c 生成需要的文件在live文件夹下make之后会在当前目录下生成mediaServer 文件夹 xff0c 其中有一个live555MediaS
  • Navicat for SQLite 15中文版

    教程 xff1a 1 下载软件压缩包并且解压文件获得安装文件以及文件 2 双击exe文件开始安装并且选择同意用户协议 3 选择软件安装位置 4 软件安装读条中请耐心等待 5 软件安装完成 xff0c 资源地址 xff1a Navicat f
  • ascs 简明开发教程(十八):定时器

    QQ交流群 xff1a 198941541 前面讲过 xff0c ascs支持定时器 xff08 由asio实现 xff09 xff0c socket和object pool都继承自timer对象 xff0c 所以你几乎可以在任意地方使用定
  • 向MySQL数据库中存入json类型数据

    源文章地址 xff1a https www linuxidc com Linux 2017 03 141865 htm 0 说明 因为出于个人项目的需要 xff0c 获取到的数据都是json类型的 xff0c 并且都要存入MySQL数据库中
  • win10安装ElasticSearch,启动闪退问题

    JDK环境原因 xff0c 重新安装一下 xff0c 问题解决
  • JWT生成私钥和公钥

    JWT令牌生成采用非对称加密算法 1 生成密钥证书 下边命令生成密钥证书 xff0c 采用RSA 算法每个证书包含公钥和私钥 keytool genkeypair alias xckey keyalg RSA keypass xuechen
  • 浏览器中Local Storage和Session Storage的区别

    Local Storage xff1a 数量空间没有限制 xff0c 只要硬盘空间较大 xff0c 可以一直存 Session Storage xff1a 是一个会话存储对象 xff0c 在Session Storage中保存的数据只能在同
  • win10 MongoDB启动失败 Error: couldn't connect to server 127.0.0.1:27017, connection attempt faile

    1 我的MongoDB安装路径 2 创建配置文件mongo conf xff0c 文件内容如下 xff1a 数据库路径 dbpath 61 d MongoDB Server 3 4 data 日志输出文件路径 logpath 61 d Mo
  • "docker build"requires exactly 1 argument

    例如运行 xff1a docker build t xc govern center 1 0 SNAPSHOT 后面的这个 前面是有个空格的
  • PyCharm 快捷键

    ctrl 43 alt 43 s xff1a 打开软件设置 ctrl 43 d xff1a 复制当前行代码 shift 43 alt 43 上 下 xff1a 将当前行代码上移或下移 ctrl 43 shift 43 f10 xff1a 运
  • Python进阶

    1 Ubuntu操作系统 Linux主要目录 xff1a xff1a 根目录 bin xff1a 可执行二进制文件的目录 ect xff1a 系统配置文件存放的目录 home xff1a 用户家目录 2 linux命令 查看目录命令 命令说
  • Python+tkinter应用程序设置背景图片

    功能描述 xff1a 设计tkinter应用程序 xff0c 为窗口和组件设置背景图片 参考代码 xff1a 运行效果 xff1a 董付国老师Python系列图书 友情提示 xff1a 不建议购买太多 xff0c 最好先通过京东 当当 天猫
  • git学习

    1 git和svn的区别 svn是集中式版本控制系统 xff0c 版本库是集中放在中央服务器的 xff0c 而工作的时候 xff0c 用的都是自己的电脑 xff0c 所以首先要从中央服务器得到最新的版本 xff0c 然后工作 xff0c 完