Git(GitLab)-合并失败-尝试“的指令”;签出、审阅、本地合并”;

Git(GitLab)-合并失败-尝试“的指令”;签出、审阅、本地合并”;,git,gitlab,merge-conflict-resolution,Git,Gitlab,Merge Conflict Resolution,我试图将我的用户分支合并到共享的“开发”分支。我是唯一一个在这个项目上工作的人。GitLab给了我以下指示,我正在努力解决这些指示 在步骤1中,当我执行“git获取源代码”时,我在存储库中执行了该操作,我已经在硬盘上执行了该操作。是这样吗?如果我在某个新创建的目录中尝试它,它会显示为“致命:不是git存储库(或任何父目录):.git 对于步骤1的第二部分- 我得到一个错误: 致命:分支名称“nw-ob210refactor”已存在 因此,我尝试在末尾添加一个2,我得到了以下错误: 致命:“or

我试图将我的用户分支合并到共享的“开发”分支。我是唯一一个在这个项目上工作的人。GitLab给了我以下指示,我正在努力解决这些指示

在步骤1中,当我执行“git获取源代码”时,我在存储库中执行了该操作,我已经在硬盘上执行了该操作。是这样吗?如果我在某个新创建的目录中尝试它,它会显示为“致命:不是git存储库(或任何父目录):.git

对于步骤1的第二部分- 我得到一个错误: 致命:分支名称“nw-ob210refactor”已存在

因此,我尝试在末尾添加一个2,我得到了以下错误: 致命:“origin/nw-ob210refactor 2”不是提交和分支“nw-ob210refactor” 无法从中创建


GitLab的上述说明是否完整正确;或者我是否做了一些明显错误的事情。

您的
git fetch origin
是正确的。这从一个名为
origin
的远程站点获取了最新的引用。现在,当您尝试签出时,很可能已经有了该名称的分支(它甚至可能与远程服务器上的提交相同)

为了确保这一点,您应该在切换到分支后
拉动

git checkout nw-ob210refactor
git pull
然后继续执行步骤2


注意您可以创建引用此远程分支的第二个分支,但我认为没有必要。如果您想知道如何让“添加2”方案生效,您必须将其添加到本地分支名称,而不是远程分支名称:

git checkout -b nw-ob210refactor2 origin/nw-ob210refactor

您的
git fetch origin
是正确的。这会从名为
origin
的远程设备获取最新的引用。现在,当您尝试签出时,很可能已经有了该名称的分支(甚至可能与远程设备上的分支处于同一提交状态)

为了确保这一点,您应该在切换到分支后
拉动

git checkout nw-ob210refactor
git pull
然后继续执行步骤2


注意您可以创建引用此远程分支的第二个分支,但我认为没有必要。如果您想知道如何让“添加2”方案生效,您必须将其添加到本地分支名称,而不是远程分支名称:

git checkout -b nw-ob210refactor2 origin/nw-ob210refactor
创建一个新的本地分支。请参见
mangit checkout

-b“新分行”
创建分支“new_branch”并在“start_point”启动它;如果它已经存在,则将其重置为“start_point”。这相当于使用“-f”运行“git branch”;有关详细信息,请参阅git branch(1)

如果你已经有了相应的本地分支,你当然不想再创建它了。相反,只使用

git checkout nw-ob210refactor

git pull

如果我在某个新创建的目录中尝试

在那里,你必须做一次新的尝试

git clone https://your/repository
首先下载您的存储库

因此,我尝试在末尾添加一个2,但出现了以下错误:致命错误:“origin/nw-ob210refactor2”不是提交,无法从中创建分支“nw-ob210refactor”

如果要创建新的本地分支,则必须更改
-b
(=本地brnach名称)之后的参数,而不是您尝试下载的源(远程分支名称):

git checkout -b checkout nw-ob210refactor2 origin/checkout nw-ob210refactor

更新

一旦您的
已经是最新的
继续执行步骤3

你也在那里吗

git checkout -b develop origin/develop
如果
develope
分支到目前为止不存在本地分支。否则再次仅使用

git checkout develop
只切换到它。在这种情况下,请确保再次运行

git pull
现在您有了本地分支和最新分支,可以合并了

git merge --no-ff nw-ob210refactor
这将
nw-ob210refactor
合并到
develope
。如果需要,只需切换到目标分支(
checkout
)并交换名称即可

--无ff
读取
无快进
并表示

即使合并解析为快进,也要创建合并提交。这是合并未存储在refs/tags/hierarchy中其自然位置的带注释(可能还有签名)标记时的默认行为

或者简单地说,您希望创建一个特殊的提交,该提交将消息
从分支nw-ob210refactor合并到develope
,即使没有冲突,您实际上可以在不进行额外提交的情况下合并分支。这对于更好地了解历史记录和ma中合并的内容非常有用如果需要,可以更轻松地在以后还原内容


合并后,向后推合并到的相应分支。在本例中,它是
develope
so do

git push origin develop 
创建一个新的本地分支。请参见
mangit checkout

-b“新分行”
创建分支“new_branch”并在“start_point”启动它;如果它已经存在,则将其重置为“start_point”。这相当于使用“-f”运行“git branch”;有关详细信息,请参阅git branch(1)

如果你已经有了相应的本地分支,你当然不想再创建它了。相反,只使用

git checkout nw-ob210refactor

git pull

如果我在某个新创建的目录中尝试

在那里,你必须做一次新的尝试

git clone https://your/repository
首先下载您的存储库

因此,我尝试在末尾添加一个2,但出现了以下错误:致命错误:“origin/nw-ob210refactor2”不是提交,无法从中创建分支“nw-ob210refactor”

如果要创建新的本地分支,则必须更改
-b
(=本地brnach名称)之后的参数,而不是您尝试下载的源(远程分支名称):

git checkout -b checkout nw-ob210refactor2 origin/checkout nw-ob210refactor

更新

一旦您的
已经是最新的
继续执行步骤3

你也在那里吗

git checkout -b develop origin/develop
如果
develope
分支到目前为止不存在本地分支。否则再次仅使用

git checkout develop
只切换到它。在这种情况下,请确保再次运行

git pull
现在您有了本地分支和最新分支,可以合并了

git merge --no-ff nw-ob210refactor