我尝试从用户分支合并到共享的“ develop”分支。我是这个项目上唯一的工作。 manbetx客户端打不开给我以下我正在努力的指示。
在步骤1中-当我执行“ git fetch origin”时-我已经在硬盘上的存储库中进行了操作。正确吗?如果我在一些新创建的目录中尝试,它将“致命:不是git存储库(或任何父目录):.git
对于步骤1的第二部分- 我收到错误: 致命的:分支名称'nw-ob210refactor'已经存在。
所以我尝试在末尾添加2,然后出现此错误: 致命的:'origin / nw-ob210refactor2'不是提交,而分支'nw-ob210refactor 无法从中创建
GitLab上的上述说明是否完整且正确;还是我做错了什么?
答案 0 :(得分:1)
您的git fetch origin
是正确的。这将从名为origin
的远程获取最新的引用。现在,当您尝试签出时,很可能您已经有该名称的分支(它甚至可能与远程分支处于同一提交)。
请确保在切换到分支后应该pull
。
git checkout nw-ob210refactor
git pull
然后继续执行步骤2。
注意,您可以创建第二个引用此远程分支的分支,但是我认为没有必要。如果您对如何使“添加2”方案起作用感到好奇,则必须将其添加到本地分支名称,而不是远程分支名称:
git checkout -b nw-ob210refactor2 origin/nw-ob210refactor
答案 1 :(得分:1)
git checkout -b localName origin/onlineName
创建一个新的本地分支。参见man git checkout
-b“ new_branch”
创建分支“ 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
(=本地分支名称)之后更改参数,而不要尝试下载的源(远程分支名称):
git checkout -b checkout nw-ob210refactor2 origin/checkout nw-ob210refactor
更新
一旦您Already up to date
,请继续执行步骤3
也可以在那里
git checkout -b develop origin/develop
如果develop
分支到目前为止不本地存在。否则只能再次使用
git checkout develop
仅切换到它。在这种情况下,请确保再次运行
git pull
现在您已经拥有本地分支机构和最新分支机构,可以合并了
git merge --no-ff nw-ob210refactor
这会将nw-ob210refactor
合并为develop
。反之,如果需要,只需切换到目标分支(checkout
)并交换名称。
--no-ff
读取no fast forward
并表示
即使合并解析为快进,也要创建合并提交。合并未存储在refs / tags /层次结构中其自然位置的带注释(且可能带有符号)的标记时,这是默认行为。
或者简单地说,您想要创建一个特殊的提交,即使没有冲突,该提交也会显示消息merge from branch nw-ob210refactor into develop
,实际上您可以合并分支而无需其他提交。在大多数情况下,这有助于更好地了解历史记录中合并的内容,并在以后需要时更轻松地还原内容。
推回合并到的相应分支。在此示例中,develop
如此
git push origin develop