例如,比较工作区和漏中暂存区的app/src/main/java/com/qiandai/zhudb/mvp/MediaSortSelectorContract.kt文件的差异
git diff 还可以制作补丁文件,在其他机器上对应目录虚袭下使用 git apply patch 将补丁打上即差搜兄可
注意:
要导出Git仓库中某两次提交之间的文件差异,必须要先知道有哪些文件发生了差异。 git diff 指令能很方便的协助我们完成这样的 *** 作。
本次课题中所使用到的 git diff 指令的用法是 git diff COMMIT_ID_1 COMMIT_DI_2 ,其中的 COMMIT_ID_X 就是通过 git log 指令查看到的提交ID。一般情况下, commit_id 取前六位就可以了。
以下就是我随便在一个仓库执行以上改御指令的结果截图:
仔细观察 git diff --name-only 指令的执行结果,这不正是这些文件 在根目录中的相对地址 嘛?结合 xargs 指令可以非常快速地将差异文件给打包了。我比较习惯用 tar 指令进行压缩。
本次执行的指令如下
查看D盘目录,确实生成了 a.tar.gz 文件,里面的目录结构和项目的结构保持一致,并且只包含差异文件,如下图所示。
以上的 COMMIT_ID_X 其实可以用HEAD [1] 来代替,比如 HEAD 表示当前提交, HEAD^ 表示上一次提交, HEAD^^ 表示上上次提交,所以我们输出当前和上次提交的差异就可以写成这样 git diff --name-only HEAD^ HEAD 。其中可以省略后面的 HEAD ,因为指令会默认拿 HEAD^ 和当前提交作比对;
还有一种写法: HEAD~0 表棚歼芹示当前提交, HEAD~1 表示上一次提链毕交, HEAD~2 表示上上次提交,以此类推。
你好,gitdiffHEAD是以当前文件和git库里面的文件做DIFF,你输入命令后显示的意思不是a/目录下的洞游唤wanglei.txt和b/目录下wanglei.txt之间不一样,而是a/wanglei.txt代表你提交到git库里面文纳凯件wanglei.txt,而b/wanglei.txt是后来你在本地做了修改的wanglei.txt文件,都是在当前的磨宴目录下wanglei.txt,不过一个是已经被提交到git库里面了,另一个是你刚刚替换了,和之前的不一样了,所以gitdiff会显示这个结果,如果你想学习git我推荐你看下progit和git权威指南下载链接5859863欢迎分享,转载请注明来源:内存溢出
评论列表(0条)