说我有一个名为repo1的仓库
在这个回购中,我有5个版本,其中A是最新的
一个 乙 C d ë
假设我在修订版B中有一个包含文件的工作区但是 由于某种原因,git认为我在修订版C。
我感兴趣的是下拉git元数据,以便我的工作区处于正确的状态(例如git认为我有修订版B)但我不想要文件
我的第一个想法是运行:
1)git pull -n
2)git reset --mixed B
但是,由于合并冲突,这会失败
我的第二个想法是运行:
1)git fetch -n
2)git reset - 混合FETCH_HEAD
3)git reset - 混合版本B
这是最好的解决方案吗?
感谢您的帮助。
答案 0 :(得分:0)
--mixed
是重置的默认操作,因此您可以省略该标志。
如果您知道您的文件位于版本B且版本B已存在于repo中,则可以直接重置为该SHA,不需要提取:
git reset <sha>
如果提交不在回购中(例如,您手动复制文件),则可以获取并重置它:
git fetch <repo-with-b>
git reset <sha>
这将保留您的实际文件,但告诉Git您的存储库位于<sha>
指定的修订版本。