Git——Git基础命令

初始化仓库:git init
在执行了git init命令的目录下会生成.git目录。这个.git目录里存储着管理当前目录内容所需的仓库数据。
这个目录的内容称为“附属于该仓库的工作树”,文件的编辑等操作在工作树中进行,然后记录到仓库中,以此管理文件的历史快照。

查看仓库状态:git status
初始化仓库完成后的仓库状态如下:

  • 位于分支 master
  • 初始提交
  • 无文件要提交(创建/拷贝文件并使用 “git add” 建立跟踪)

所谓提交(commit),是指“记录工作树中所有文件的当前状态”。
无文件要提交:表示当前仓库中还没有记录任何文件的任何状态

向暂存区中添加文件:git add
想要让文件成为Git仓库的管理对象,就需要用git add命令将其加入暂存区中。暂存区是提交之前的一个临时区域。

保存仓库的历史记录:git commit
git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,就可以在工作树中复原文件。

1、记述一行提交信息:git commit -m “一行提交信息”,提交信息是对这个提交的概述。

2、记述详细提交信息:直接执行git commit命令,执行后编辑器会自动启动。在编辑器中记述提交信息的格式如下:

  • 第一行:用一行文字简述提交的更改内容
  • 第二行:空行
  • 第三行以后:记述更改的原因和详细内容

3、中止提交
如果在编辑器启动后想中止提交,可将提交信息留空并直接关闭编辑器,随后提交就会中止。

查看提交日志:git log
通过git log命令可查看以往仓库中提交的日志。
1、只显示提交信息的第一行简述信息:git log –pretty=short
2、只显示指定目录或文件的日志:git log 文件名或目录名
3、显示文件的改动:git log -p,可查看文件提交带来的改动
git log -p 文件名,可查看指定文件提交所带来的改动
4、查看更改前后工作树与暂存区中的差别:git diff,此处“+”号标出的是新添加的行,“-”号标出的是被删除的行。
5、查看更改前后工作树与最新提交的差别:git diff HEAD

分支
显示分支一览表:git branch,将分支名列表显示,前面有“*”号的分支即为当前所在分支。

创建分支:
git checkout -b 分支名

切换分支:
git checkout 分支名

合并分支:
git merge
为了在历史记录中明确记录下本次分支合并,我们需要创建合并提交。因此使用git merge –no-ff 分支名 命令。

以图标形式查看分支:
git log –graph

回溯历史版本:git reset –hard 哈希值
要让仓库的HEAD、暂存区、当前工作树回溯到指定状态,需要用到git reset –hard命令。只要提供目标时间点的哈希值,就可以完全恢复至该时间点的状态。

推进历史:
使用git reflog命令查看当前仓库的操作日志。在日志中找出回溯历史之前的哈希值,通过git reset –hard命令恢复到回溯历史之前的状态。

消除冲突:
分支A修改的部分与分支B修改的部分发生冲突时,不解决冲突就无法完成合并。需要打开相应文件,解决该冲突(删改)

修改提交信息:
git commit –amend,修改上一条提交信息

压缩历史:
git rebase -i,将修改包含到前一个提交之中,压缩成一个历史记录

添加远程仓库:
git remote add 远程仓库名 GitHub上仓库的路径,将指定仓库设置成本地仓库的远程仓库。执行上述命令后,Git会自动将“远程仓库名”与“GitHub上的那个仓库”相对应。(远程仓库名实际上是远程仓库标识符)

推送至远程仓库:
切换至要使用的分支
git push -u 远程仓库名 分支名,将指定分支下本地仓库中的内容推送给指定的远程仓库。

  • -u参数:可以在推送的同时,将指定仓库的指定分支设置为本地仓库当前分支的upstream(上游)。添加了这个参数,将来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从远程仓库的对应分支获取内容,省去了另外添加参数的麻烦。
    相当于:设定了“本地仓库当前分支”与“远程仓库指定分支”的一对一关系,本地的当前分支对应远程仓库的指定分支,从远程仓库pull内容时,会自动由本地仓库当前分支获取。

从远程仓库获取:
获取远程仓库:
git clone 远程仓库地址,将远程仓库克隆到本地
执行git clone后会默认处于master分支下,同时系统会自动将origin设置成该远程仓库的标识符。也就是:当前本地仓库的master分支与GitHub上标识符为origin的远程仓库的master分支在内容上是相同的。

获取远程的feature-A分支:
git checkout -b feature-A origin/feature-A
即:git checkout -b 本地仓库中新建的分支名 远程仓库名/远程仓库中相应的分支名

获取最新的远程仓库分支:
git pull 远程仓库标识符(名) 分支名,将本地仓库中的当前分支更新到与指定远程仓库中的指定分支相同的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值