首页 > 其他 > 详细

Git命令进阶

时间:2020-04-07 13:21:49      阅读:66      评论:0      收藏:0      [点我收藏+]

GIT命令进阶

1 文件忽略进阶:忽略已加入版本控制器的文件

1.1 设置忽略排除

1.1.1 忽略文件夹

vim gitigorne 
-------------------------------
test/* # 忽略test文件夹下的所有文件
*.class # 忽略以class结尾的所有文件

1.1.2 设置反向配出

!test/index.php # 排除忽略test文件夹下的index.php文件

!表示要排除的意思,因此在.gitignore文件夹中加入!也可以理解为取反的意思

1.2 忽略已提交的文件

有的时候,可能一不小心把某一个原本应该忽略的目录提交到了版本控制器中,再使用 .gitignore 文件去忽略它的时候,发现无论如何都无法再次将其忽略,只好默默忍受;其实这是因为Git已经索引了该文件而导致.

1.2.1 忽略已存在的文件和文件夹

git rm --cached test2/index.php # 从换从中删除已提交的文件
git rm -r --cached test3/ # 删除缓存中的文件夹

接着我们需要将此修改提交,因为在忽略文件里已经忽略了该文件夹,所以在提交的时候需要注意加上-f参数,表示强制添加,参考命令如下:

git add -f test3

注意:

  1. 反向忽略应用场景是该文件夹大部分文件需要被忽略,只需要保留少部分的文件
  2. 忽略已存在的文件夹最后一步需要使用 -f 进行强制添加,否则会提示操作失败

2. 比较分支差异: 展示连个分支的差异部分

主要有两个部分:1. 比较分支的提交记录 2. 比较分支的代码差异。

2.1 查看代码差异

查看差异分为两种,具体的代码文件差异,和提交记录的差异,代码的具体差异分为3中方式:

  1. 查看了那些文件被修改了

  2. 查看某个文件的代码差异

  3. 查看全部代码差异

2.1.1 查看文件差异

我们想知道当前的分支与另外一个分支,有哪几个文件不一样,这个时候可以使用如下参考命令:

git diff master dev --stat

技术分享图片

2.2.1 显示文件具体修改

通过前面的文件修改差异,知道了哪些文件被修改了,现在想知道具体被修改了什么内容

git diff master develop 文件名

2.2.2 显示全部文件的修改

git diff master develop 

2.2 查看提交记录差异

通常查看提交记录的不同有下面几种方法:

  1. 查看A分支有但B分支没有的记录
  2. 单纯的比较两个分支的差异
  3. 显示某个记录在某些分支上是否存在。

2.2.1 查看提交新纪录

查看develop分支中有的记录而在master分支中没有的记录

git log develop ^master

技术分享图片

2.2.2 单纯比较差异

只查看两个分支记录有什么不一样

git log branch1.. branch2

2.2.3 查看各记录存在于那些分支上

git log --left-right develop...test

技术分享图片

在图中,注意看我黄色框选的箭头符号,因为我们在命令中加入了-–left-right 所以左箭头 < 表示是 develop 的,右箭头 > 表示是 test 分支的。

  1. 基于当前的分支新建一个分支,并修改代码提交
  2. 使用git diff 分支1 分支2 的方式进行代码差异比较
  3. 使用git log 分支1..分支2 的方式进行提交记录的差异比较

3.

Git命令进阶

原文:https://www.cnblogs.com/smallwolf/p/12652610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!