我想提一下看似无处不在的命令行工具tig。它是一个文本图形树视图,带有项目修订历史的标签显示等。它可以在ssh等上使用。超级方便。
我在一个我们有一个主分支的情况下,然后另一个分支称为17.0并在这个17.0内部有一个提交哈希没有说 的 “XYZ” 强> 。并且客户在XYZ修订版之前获得构建。 现在我们遇到了一个错误,需要为该客户解决。所以我们需要为该客户创建单独的分支,直到“xyz”哈希。 所以我就是这样做的。
首先,我在本地计算机上创建了一个具有该客户名称的文件夹。说客户名称是“AAA” 创建该文件夹后,在此文件夹中发出以下命令:
一种方法是创建对补丁进行的所有提交。签出初始提交,然后在阅读后按顺序应用补丁。
使用 git format-patch <initial revision> 然后 git checkout <initial revision> 。 你应该在你的导演中获得一堆文件,从四个数字开始,这些是补丁。
git format-patch <initial revision>
git checkout <initial revision>
当你完成阅读你的修订版时,就这样做 git apply <filename> 应该是这样的 git apply 0001-* 并计数。
git apply <filename>
git apply 0001-*
但我真的很想知道为什么你不想只读取补丁呢?请在评论中发帖,因为我很好奇。
git手册也给了我这个:
git show next~10:Documentation/README 显示文件Documentation / README的内容,因为它们是下一个分支的第10个最后一次提交时的当前内容。
git show next~10:Documentation/README
显示文件Documentation / README的内容,因为它们是下一个分支的第10个最后一次提交时的当前内容。
你也可以看看 git blame filename 它为您提供了一个列表,其中每一行与提交哈希+作者相关联。
git blame filename
要转到特定版本/提交,请执行以下命令。您可以从中得到HASH-CODE git log --oneline -n 10
git log --oneline -n 10
git reset --hard HASH-CODE
的 注意 强> - 重置为特定版本/提交后,您可以运行 git pull --rebase ,如果你想带回所有被丢弃的提交。
git pull --rebase
我创建了一个命令行python工具来查看项目是如何演变的。你可以看看这是否有帮助。该工具托管在以下网址的git上
https://github.com/yoganand/git-evolver