我已经在GitHub上分配了一个项目,为了理解它是如何工作的(后来对它有所贡献),我想及时回到第一次提交,然后将它们拉出来一个接一个,只需在每一步浏览回购,以及看到前一次提交的差异。
基本上,我需要知道如何做三件事:
我假设我可以为后者做git diff HEAD~1
之类的事情。但是,我不知道如何做其他两个,尤其是第一个。
答案 0 :(得分:2)
如果你只想差异git diff
,可以用来查看任何提交git diff sha1 sha2
之间的差异。如果要将本地repo获取到特定提交,则只需要get reset <sha> --hard
,并且最高提交将是您指定的sha。完成后,您可以再次从遥控器拉出以使本地副本与远程主控制器同步
答案 1 :(得分:2)
&#34; pull&#34;在Git中有一个特殊的含义,与你想做的事情无关。 (并且,与您的问题没有任何关系,但我建议您不要使用git pull
。使用git fetch
后跟第二个Git命令,这就是git pull
为您所做的一切无论如何。问题是右第二个命令可能取决于git fetch
的内容,因此git pull
有时会运行错误的。)
一旦您有权访问存储库 - 例如原始存储库;没有必要分叉,不是这真的很痛 - 你应该git clone
使用任何合适的Git客户端git checkout
到你的本地机器。这为您提供了本地所有内容的完整副本。现在,您可以随意浏览它,使用git log
提取任何给定的提交,gitk
查看提交(或git checkout
或某些GUI查看,有时也{{1}那些提交)。
答案 2 :(得分:2)
任何Git GUI - gitk,GitUp,GitKraken,GitHub Desktop等 - 应该可以让您做自己想做的事情。选择主线分支并向后滚动到开头。然后,依次选择每个提交将显示该提交与前一个提交的差异。
祝你好运!答案 3 :(得分:1)