Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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 - Fatal编程技术网

Git合并主机不会从该分支拉入文件

Git合并主机不会从该分支拉入文件,git,Git,所以我有两个分支,我的主分支和一个新的开发分支。在master分支中,一个新文件已添加到存储库中。我注意到这个文件不在我的开发分支中,因此给了我一个错误 当我从开发分支执行git merge master时,它会说:已经是最新的。 如果我签出master我注意到文件确实在那里,因此分支必须是最新的,但是,它不在我的开发分支中 我可能做错了什么?从你问题的评论线索中可以明显看出,你显然删除了开发分支上的文件 因为这对于git来说是一个变化,所以在考虑合并时它是相关的 既然您说创建另一个新分支并将您

所以我有两个分支,我的主
分支和一个新的开发分支。在
master
分支中,一个新文件已添加到存储库中。我注意到这个文件不在我的开发分支中,因此给了我一个错误

当我从开发分支执行
git merge master
时,它会说:
已经是最新的。

如果我签出
master
我注意到文件确实在那里,因此分支必须是最新的,但是,它不在我的开发分支中


我可能做错了什么?

从你问题的评论线索中可以明显看出,你显然删除了开发分支上的文件

因为这对于git来说是一个变化,所以在考虑合并时它是相关的

既然您说创建另一个新分支并将您的开发分支合并到其中会删除该文件,那么这就是在该开发分支上发生的更改

如果在母版上更改了相同的文件,在您尝试将母版合并到开发分支之前,您会注意到合并冲突,因为删除的文件(在您的分支上)已更改(在您合并的分支上)

在您的情况下,由于该文件现在已被删除,并且在master上没有更改,因此将master合并到您的开发分支将不会恢复该文件

您有多种选择:

  • 恢复删除文件的提交(全部或部分)
  • 从master创建一个新的开发分支(使用该文件),并放弃您希望保留的旧开发分支的更改
  • 通过从以前的提交中签出文件来恢复该文件(实际上,在结果方面与选项1类似)

  • 你没有在你的分支中删除这个文件吗?@LasseVågsætherKarlsen没有,它在我的本地和远程Git中。你说你有一个新的开发分支。我的意思是,在创建了这个开发分支之后,您没有删除您的开发分支上的这个特定文件?@LasseVågsætherKarlsen否。正如我告诉您的:该文件在我的主分支中。如果我在master上执行“git pull”,则它是最新的。如果我进入github存储库并“查找文件…”,我会清楚地看到该文件。另外,该文件不在gitignore中。我知道它在您的主分支中,我要求的是您确保没有在开发分支中删除它。换句话说,我想确保您没有执行以下操作:1)创建新的开发分支,2)删除文件(在您的开发分支上),3)尝试与master合并以还原文件。