阅读有关 git 工作流程的文章时,我想知道重写历史是否合适。我的工作流程以及我想象的许多其他人的工作流程是这样的:
- 获取 Github 存储库,我们称其为 rep1
- 做一个 fork ,那就是rep2
- git 将其克隆到本地使用,即 rep3
- 进行更改,提交给 rep3
- 完成后,推送给 rep2 并在进行 PR 之前征求其他人的反馈
当我收到反馈时,似乎我想做一些 rebase 和压缩,因为反馈通常是一些小事,比如重新措辞评论或一开始就应该有所不同的事情,不值得他们自己的犯罪。
但是从文档来看,我似乎不应该更改 rep2 上的历史记录,而且 --ammend 之类的东西在这种情况下确实不起作用。是我的工作流程有误,还是我误解了那些关于更改历史记录的警告?
最佳答案
一般经验法则:永远不要改写已经发布的历史。很可能有人已经获取了您的提交;如果你改写历史,那些人一 pull 出改写的历史就麻烦了。
不太严格的经验法则:在某些情况下,当您绝对确定您是唯一一个从事该工作的人时,重写已发布的历史可能被认为是可以的分支机构。
就个人而言,我认为可以在 GitHub 存储库的单个分支中重写已推送的功能分支的历史记录,因为我不希望其他人在该分支上工作。不过,这只是个人意见。
关于git - 拥有 git clean 历史记录的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767077/