Git:通过提交签出提交并查看所有更改

  • 本文关键字:提交 Git git
  • 更新时间 :
  • 英文 :


我对git使用命令行真的不太满意,所以我更喜欢使用SourceTree,但UI无法解决我的一个问题(它总是重新加载到顶部)。

事实上,我想签出Swift存储库的第一次提交(它有近4万次提交),然后只签出每一次提交,看看有什么变化(我想了解该语言是如何编写的)。

想象一下,在不知道是否有后继数组以及它可能拥有哪些信息(如提交id)的情况下,从索引0迭代一个数组。

有什么脚本或命令我可以使用吗?

更新:

我在这里自己找到了答案。

移动到下一个提交

function n() {
    git log --reverse --pretty=%H master | grep -A 1 $(git rev-parse HEAD) | tail -n1 | xargs git checkout
}

移动到上一次提交

function p() {
    git checkout HEAD^1
}

您可以看到从第一次提交到最后一次提交的完整历史记录。这将显示所有代码更改(差异)。只需运行:git log -p --reverse

只需转到机器上repo的克隆即可。您可以从github获得第一次提交的SHA。复制要签出的提交的SHA。进行git checkout <SHA>

此外,您还可以执行git checkout head~n,其中n是从您要引用的head开始倒计时的提交数。

请参阅此处:

最新更新