作为git的一个相对新手,有一些我从未完成过的工作 - 如何在分支的时间轴中轻松快退和快进到不同的点。
今天,我需要编写一份报告,其中包括在git修订历史记录开始时从代码库中截取屏幕截图,并将其与程序现在的外观进行比较。在git中最简单的方法是什么?
答案 0 :(得分:2)
根据我的理解,您希望创建一个将initial
提交转换为final
提交的补丁。
我们假设你有一个git log
输出:
* 58ef3f6 [maven-release-plugin] prepare for next development iteration
* 15ded94 [maven-release-plugin] prepare release 1.7
* 1687ba4 fix some more bugs
* 1687ba4 fix some bugs
* a4f3918 implement new feature
* c2065d1 update datasources
* 06349b5 set up external interfaces
* 723e37f branched from trunk
然后,要创建723e37f
和58ef3f6
之间的更改的累积修补程序,请执行以下操作:
git diff 58ef3f6 723e37f
另一方面,如果你想看看代码在特定时间点的样子,你只需要检查特定的提交,例如:
git checkout 58ef3f6
答案 1 :(得分:2)
如果您的报告涉及演示文稿,我会强烈推荐在您的代码库上运行“gource”(令人印象深刻的眼睛糖果!)。
这个工具让您真实地可视化您的提交图表随时间的变化。
查看“History of Python”来源代表。
答案 2 :(得分:1)
..如何轻松快退并快进到分支机构时间轴中的不同点。
今天,我需要编写一份报告,其中包括在git修订历史记录开始时从代码库中截取屏幕截图,并将其与程序现在的外观进行比较。在git中最简单的方法是什么?
使用git回顾过去非常容易。假设您的历史记录如下
hash : commit message
======================
3q4htq: fixed bug that the new feature introduced
364572: added a new feature
44tdrt: made some more stuff
235326: made some stuff for the first time
224y4y: Initial commit
(提交哈希值)
假设您想要回到提交235326时项目所处的状态。您需要做的就是
$ git checkout 235326
您现在可以查看文件并制作代码的屏幕截图。当你准备好回到未来"你可以简单地做到
$ git checkout master
或用您最初来自的分支名称或提交哈希替换master。你可以使用像这样的结账命令来跳转'在项目历史中。