首先,我要说这是一种不寻常的流动。我正在用一个长长的自述语言编写一个教程,该教程给出了一些代码示例。
用户可以签出早期提交,并查看我正在构建的项目的状态,更多地遵循教程,签出下一个提交,等等。
我真的很想用git来做这件事,但是我有一个问题,因为如果我返回并想要在教程开始时改变一些东西(排字或方法),那么我需要回去修改历史,因为它后面有很多提交。
有什么简单的方法来完成我想做的事吗?
发布于 2017-10-31 05:49:17
通常的解决方法是使每个步骤的分支,您希望您的用户遵循。
默认情况下,分支将指向master中的现有提交。
x--x--x--x--x--x--x (master)
| |
(step1) (step2)但是如果您需要修复其中一个提交,而不是重写said commit (更改所有其他后续提交的历史记录/SHA1 1),您将签出该分支,在那里进行新的提交。
x--x--x--x--x--x--x (master)
| |
X (step2)
(step1)任何使用该分支的用户只需执行git拉操作即可获得该步骤的更新版本。
然后,您可以git cherry-pick这个新的提交到master (以及后面的其他分支),然后继续。
我不认为需要合并(为了不得到一个不必要的复杂历史图)。
https://stackoverflow.com/questions/47026611
复制相似问题