Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git重置--混合取数头_Git_Github_Version Control_Git Fetch - Fatal编程技术网

git重置--混合取数头

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

假设我有一个叫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

这是最好的解决方案吗

感谢您的帮助。

--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几乎没有意义。