Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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,新手试图修复gitlab上的合并冲突 已经在gitlab上执行了合并请求,它表示存在冲突,并建议解决以下问题: git获取来源 git签出-b“docker”“源/docker” git获取源 git签出“源/主” git合并--无ff“docker” git推送源“主” 我已经有一个名为docker的本地分支,我以前将其合并到master中。从那时起,我已将进一步的更改推送到远程源站/码头,因此第二个合并请求。因此,我发布了一个git checkout-b“newdocker”“origin

新手试图修复gitlab上的合并冲突

已经在gitlab上执行了合并请求,它表示存在冲突,并建议解决以下问题:

git获取来源
git签出-b“docker”“源/docker”
git获取源
git签出“源/主”
git合并--无ff“docker”
git推送源“主”
我已经有一个名为docker的本地分支,我以前将其合并到master中。从那时起,我已将进一步的更改推送到远程源站/码头,因此第二个合并请求。因此,我发布了一个git checkout-b“newdocker”“origin/docker”

当我做一个git签出源代码/主代码时,它说它处于分离的头部状态``git状态``显示以下消息:

=在原点/主点处分离的磁头
您有未合并的路径。
(修复冲突并运行“git提交”)
(使用“git merge--abort”中止合并)
要提交的更改:
新文件:.gitlab-ci.yml
新文件:.npmignore
修改:INSTALL.sh
修改:README.md
修改:package.json
未合并路径:
(使用“git add…”标记分辨率)
都添加了:Makefile
都已修改:docker/README.md
都添加了:docker/docker-compose.ci.yml
两者都已修改:tests/e2e/jest.config.js
都已修改:tests/jest.config.js
按照说明,当我发出git merge--no ff newdocker时,我会收到冲突通知。然后修改文件以接受传入的更改并提交

git添加。
git提交
git显示一条消息,确认我正在提交合并,确认文件已更改。 如果我随后执行git push origin master,它会说一切都是最新的

git状态
在终端中显示

~/Development/Projects/plugin ➦ 28a5cd8 git状态
头部与原点/主控点分离
没什么要承诺的,正在清理树
有没有办法解决这个问题,或者仅仅创建一个新的存储库就更容易了

将docker分支合并到master以解决合并冲突的最安全步骤是什么?GitLab.com建议的步骤包括:

git获取来源
git签出“源/主”
git合并--无ff“docker”
更新 在发表评论的人的帮助下,它开始工作了。非常感谢!!注释中建议的问题是来自gitlab.com对话框的命令
git checkout“origin/master”
,该对话框建议如何解决合并冲突。已经向gitlab.com报告了一个[文档问题]

允许我按照评论中的建议进行合并的步骤是:

# checkout the local master branch
git checkout master

# merge the local docker branch
git merge docker

# resolve conflicts by modifying and saving conflicting source files to # accept necessary changes and then..
git add .
git commit
git push origin master

如果您确定本地主分支中的状态是正确的,并且希望更新origin以满足它,那么可以尝试使用git push origin master--force

更新 请尝试以下操作:

git checkout master
git checkout -b master_backup
git switch -
git reset --hard origin/master
检查本地文件,如果需要,与
master\u backup
分支中的版本进行比较

更新2 要合并更改,请执行以下操作:

git checkout master
git merge master_backup


取决于您实际想要合并到master中的分支

感谢@Imtx的响应。尝试了一下,然后git获取了origin和git签出origin/master,它仍然处于分离头状态。当我推的时候,git给了我一个信息说一切都是最新的。看起来我可能需要创建一个新的存储库,也许…@anon_dcs3spp请检查我的更新,并让我知道它是否有效分离头状态是因为git不会“签出”远程分支。这样做只需检查与分离头相同的提交。如果你想签出一个分支,你应该签出你的本地主分支,或者签出一个引用相同提交的新分支,但是
git checkout origin/which
将永远不会签出分支。谢谢@lmtx尝试了这一点,我的本地主分支是最新的,但它仍然没有合并。它是当前未合并的版本。如何将我的docker分支合并到master?感谢@lmtx,非常感谢所有帮助我并提出解决方案的人:)它成功地避免了创建另一个存储库的过程。您不应该
git checkout“origin/master”
,因为您无法签出远程分支。执行此操作将在同一提交时检出分离的头部。相反,您应该签出
master
(您的本地副本),并从
origin/master
更新它。您可以将任意提交推送到远程分支,但我不建议这样做。谢谢新手。你是说,git收银台主机,git拉原点主机?我试过了,对我的船长和码头工人都有效。那么,将docker分支合并到master中需要遵循哪些步骤呢?要将X合并到Y中:
git checkout Y
,然后是
git merge X
,您必须签出目标分支并合并(从)源分支。因此,对于您的分支机构,它将是
git checkout master
,然后是
git merge docker
。这就成功了。干杯,非常感谢:)……现在我遇到了其他人提出相同解决方案的情况。你想把你的评论写下来作为一个答案并让它被接受吗?一点也不,Lmtx留下了一个很好的答案。
git checkout master
git merge docker