How to mark important events / milestones in Git history?
我有一个由四个Ruby家庭作业任务相关的文件组成的repo。我的第五个任务是以最好的方式重构前面四个任务中的每一个,并将每个小重构标记为单个Git提交,这样当打开Git历史记录时,它们就可以很容易地看到发生了什么变化(如Use map instead of each和Rename instance variable等)。我有一个分公司,叫以东十一〔二〕公司,现在我完成了第一项任务的任务。我想把它和master合并。然后我将创建一个新的分支task-2,准备好后,将它合并到master。但我希望有一个明确的指示器,在哪里提交,与任务1完成和任务2的提交在Git历史中开始相关。一种方法是修改我上次提交的提交消息,将..and finish task 1包括在内,但我想知道是否有更智能的方法。另一种方法是做一个小的更改,比如在某个地方添加一个空间,并使用提交消息进行提交。在Git/GitHub中标记重要事件/里程碑的正确方法是什么?
使用git tag标记代码中的重要里程碑。
示例-git tag -a v1将当前代码标记为v1。您可以通过运行git checkout v1来签出此代码。
git tag -l可以列出你所有的标签。
最后,记住将标记推送到远程存储库-git push --tags
- 您可能希望包含-a选项来创建一个带注释的标记,而不是一个轻量级的标记。
- 良好的捕获将编辑响应
- 但是,如果你稍后使用git checkout ,你最终会得到一个Detached HEAD。有没有一种方法可以简单地为一个特定的提交分配一个名称(比如提交生成的哈希的别名),而不附加任何字符串?
我相信Git标签最适合你的用途。
标记可能是您想要做的事情,但是如果您想要在提交日志中做一些事情,那么可以使用以下方法:
合并分支时可以使用no fast forward标记。这会为合并添加一个特定的提交,您可以将"完成任务1"添加到提交消息中。例如,你会这样做:
1
| git merge task-1 --no-ff |
然后您就可以清楚地看到这个分支是在哪里合并的。
我希望我能正确理解你的问题,这对你有帮助。
- 在和人们交谈并看到这些之后,我意识到你有了最好的答案。