【发布时间】:2018-03-01 01:52:08
【问题描述】:
我和我的同事在同一个存储库上工作,但我的同事犯了错误,他编辑了我的文件并只是推送了。
问题是我目前也在处理同一个文件,所以如果我拉出提交,它将删除我的所有作品。
文件是二进制的,所以我不能从文本编辑器中编辑。这正是对当前情况的解释:
提交 1. 我做了一些二进制文件,例如:a.bin, b.bin, c.bin 并作为提交[1]推送到master分支
提交 2。我的同事拉动提交 [1] 并推送他的工作 [2]
提交 3。我的同事不小心编辑了我的二进制文件:a.bin、b.bin、c.bin,但他只是将其推送为提交 [3]
提交 4+:我的同事一直在催促..
所以我想要的只是回滚提交,回到旧的特定提交。我搜索了 git rebase 和 git revert,但对我来说似乎完全不起作用。
我听说使用合并也可以,但我希望我的历史保持干净!
我想要的只是将所有内容恢复到旧的提交,但它一直说你那里有某种未合并或未暂存的文件,并且一直失败。我只想覆盖旧文件。
我该如何解决这个问题?
【问题讨论】:
-
什么是确切的 git 提交树,在 git 内部,默认工作流程,git 提交有多个父项
-
是否从提交 [1] 中提取二进制文件并将它们提交到最新提交的顶部?
-
您是在尝试将二进制文件回滚到旧提交还是整个项目(丢失您同事的提交)?
标签: git version-control git-revert