Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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 Merge覆盖我的文件而不显示冲突_Git_Merge - Fatal编程技术网

Git Merge覆盖我的文件而不显示冲突

Git Merge覆盖我的文件而不显示冲突,git,merge,Git,Merge,我不知道为什么,但今天我做到了: git checkout master git pull origin master git checkout myFeature git merge master 我正在将master与myFeature分支合并,以便解决任何冲突。 令我惊讶的是,没有显示任何冲突,它重写了我的文件,我失去了在新功能上所做的一切 问题1:为什么会发生这种情况?冲突不应该被显示出来? 问题2:如何正确恢复?我还没有做出承诺 如果我做一个git日志,它会显示我的所有提交,

我不知道为什么,但今天我做到了:

git checkout master

git pull origin master

git checkout myFeature

git merge master 
我正在将master与myFeature分支合并,以便解决任何冲突。 令我惊讶的是,没有显示任何冲突,它重写了我的文件,我失去了在新功能上所做的一切

问题1:为什么会发生这种情况?冲突不应该被显示出来? 问题2:如何正确恢复?我还没有做出承诺

如果我做一个git日志,它会显示我的所有提交,记住,我还没有提交这个合并。我不能100%确定是否应该重置-很难重置到最后一次提交SHA1。我不想保留当前的更改,这是合并,但我想保留合并之前的所有内容,这是最后一次提交

问题1:为什么会发生这种情况?冲突不应该被显示出来

发生这种情况是因为你应该从你的主人那里合并,而不是从你的分支那里合并。i、 e

git checkout master  
您应该确保您在主分支上,然后运行合并

问题2:如何正确恢复?我还没有承诺

要恢复您最后的marge,请运行:


您的回答可能也会有所帮助。

这里没有足够的信息供我们回答您的问题。将origin/master拉入master,然后将master合并到myFeature中,通常不会撤消myFeature中的更改,但有许多情况会偏离正常的假设,可能看起来像您描述的那样。不过,底线是,如果你想让我们解决这个问题,你需要提供足够的信息来重现问题,而当我执行你描述的步骤时,我没有得到你描述的行为。你还没有做出承诺吗?你没有犯什么罪?如果合并是干净地完成的,它应该自动提交,您不应该让合并中的文件处于未提交状态,除非您明确要求git在不提交的情况下进行合并,或者存在合并冲突或其他错误。合并前是否有未提交的工作?您需要更明确地了解存储库的状态以及丢失的更改类型。
git merge myFeature
git reset head~ <path>