比如你在本地修改了代码,提交了20多次。现在你要将这些代码push上去了,你想再检查一下代码,但是你需要统计一下,这20次commit一共修改了哪些文件?每个文件分别修改了哪些地方?
在这个时候,你就需要用到这个指令了,能轻松查看,所有修改的文件列表和差异。
列出所有修改文件列表,但是不显示差异。
列出所有修改文件列表,并且显示出所有的修改差异。
怪我咯2017-05-02 09:25:16
这是我目前找到最合适的答案:
git diff origin/分支名...HEAD
git diff origin/分支名...HEAD --name-status
莫名奇妙被踩了一下,也不知道是谁踩的,希望站出来,有本事提供更简单易用的答案,回答不上来就乱踩别人,这是什么心理?
ringa_lee2017-05-02 09:25:16
git log
可以指定时间范围、起止 commit、文件路径、分支/标签等等条件,并且可以对输出结果进行筛选,轻松满足你的第一个要求。
git show
或者 git diff
都能满足你的第二要求,使用的参数会有差异。
具体的命令我就是任性不说,自己看文档吧。
不过我可以奉送一个 trick,如果你认为 commit 的跨度是问题,你完全可以新建一个临时分支,然后往前进行 interactive rebase (squash all commit)一直到你要比较的初始 commit,这样一来你需要比较的 commit 就只有两个了,一个是起点,一个是包含了后续 n 的 commits 的总和。
我想大声告诉你2017-05-02 09:25:16
其实我觉得下载一个Github的客户端吧,用起来很直观很方便的,最近更新了,新增项目的工作流的图,我用的是windows版的,Mac版不了解啦…