【发布时间】:2016-05-15 06:04:08
【问题描述】:
我刚刚犯了一个非常大的 git 错误,这让我意识到我不懂 Git。 这就是发生的事情-
- 从 master 创建了一个私有分支,在该分支中进行了更改
- 将 master 拉入该分支。
- 切换到 master 分支(没有从 origin/master 拉,因此我的 master 分支没有最新的 master)
- 合并了我的私有分支并将其推送到主分支。
- 得到一个错误,说你不能不拉就不能推,我遵守并拉了主人。然后将它与我的提交一起推送。
- 在我的提交中,我从 master 提取到我的私有分支中并且不在我的本地 master 中的所有更改都在那里。
- 还原了提交,还原还原了我未进行的所有更改,并且所有这些更改的提交历史记录都消失了。
我不明白为什么单个文件的提交历史消失了。有人可以帮我理解这一点吗?
附:经验教训 - 总是先拉再推,经常拉
【问题讨论】:
-
Revert 不会破坏历史记录,只会恢复来自参数的提交。考虑将你的 master 重置为恢复之前的状态,这次恢复正确的提交。
-
@Basilevs 提交历史记录在那里,但如果单个文件提交历史记录丢失。我也觉得提交历史不应该被破坏,但不知道为什么文件的提交历史会丢失。
标签: git version-control merge