git重置--混合取数头
假设我有一个叫repo1的回购协议 在本回购协议中,我有5次修订,其中A是最新的 A B C D E 假设我有一个工作区,其中包含版本B中的文件,但是 出于某种原因git认为我在C版 我感兴趣的是下拉git元数据,以便我的工作区处于正确的状态(例如git认为我有修订版B),但我不想要这些文件 我的第一个想法是跑步: 1) git pull-n 2) git重置--混合B 但是,由于合并冲突,这将失败 我的第二个想法是跑步: 1) git fetch-n 2) git重置--混合取数头 3) git重置--混合版本B 这是最好的解决方案吗 感谢您的帮助。git重置--混合取数头,git,github,version-control,git-fetch,Git,Github,Version Control,Git Fetch,假设我有一个叫repo1的回购协议 在本回购协议中,我有5次修订,其中A是最新的 A B C D E 假设我有一个工作区,其中包含版本B中的文件,但是 出于某种原因git认为我在C版 我感兴趣的是下拉git元数据,以便我的工作区处于正确的状态(例如git认为我有修订版B),但我不想要这些文件 我的第一个想法是跑步: 1) git pull-n 2) git重置--混合B 但是,由于合并冲突,这将失败 我的第二个想法是跑步: 1) git fetch-n 2) git重置--混合取数头 3) gi
--mixed
是重置的默认操作,因此您可以忽略该标志
如果您知道您的文件位于版本B,并且版本B已存在于回购协议中,您可以直接重置为该SHA,无需获取:
git reset <sha>
git重置
如果提交不在repo中(例如,您手动复制了文件),则可以获取并重置为:
git fetch <repo-with-b>
git reset <sha>
git-fetch
git重置
这将使您的实际文件保持原样,但告诉Git您的存储库位于
指定的修订版上非常感谢,非常好的回答请注意FETCH\u HEAD
的特殊之处在于,在获取过程中更新的所有引用的名称都写在这里。因此,在一般情况下,将其传递给git reset几乎没有意义。