推送新的 Git 分支并随后将它们合并到原点
Pushing new Git branches and subsequently merging them on the origin
我对 Git 比较陌生,正在尝试建立某种 workflow/procedure,但不太确定如何实施它。 FWIW 我正在使用 Gitlab,尽管我认为这不重要。
目前一个 repo 只有 master/mainline 而没有其他分支。
我愿意:
- 在本地克隆这个项目
- 在本地创建一个新分支
- 将该分支远程提交并推送到 Gitlab 服务器(但不将其与 master 合并)
- 稍后发起合并请求,将远程分支与远程master合并
显然,对于 #1,我们有 git clone http://path-to-my-gitlab-repo
。对于#2(在本地创建分支)我相信我想要git branch mybranchname
。但是我不确定如何将分支实际推送到远程 Gitlab 服务器(因为它根本不存在),也不知道如何 - 在以后的某个时间 - 发起合并请求。
有什么想法吗?
将本地分支推送到远程存储库
您可以将本地分支推送到名为 origin
的远程存储库,方法是:
git checkout <branchname>
git push origin <branchname>
如果 <branchname>
在远程存储库中不存在 ,它将作为 push
操作的一部分创建。
由于您可能会从该分支推送新提交,因此最好通过添加 --set-upstream
(或 -u
) 选项:
git push --set-upstream origin <branchname>
展望未来,这将允许您通过简单地说:
将新提交推送到远程分支
git push
使用 GitLab 创建合并请求
然后您可以使用 GitLab 网络 UI 创建 合并请求 ,如 the documentation 中所述。
第 1 步:
Clone this project locally
确保您要为您正在做的事情使用 http 协议。根据您团队的安全策略,您可能希望使用 SSH。 GitLab UI 具有在两者之间切换的按钮,因此您可以复制粘贴克隆语句。
第 2 步:
Create a new branch, locally
您可以使用 checkout 命令创建并切换到新的本地分支:
git checkout -b mybranchname
这与(使用您喜欢的任何一个)相同:
git branch mybranchname
git checkout mybranchname
第 3 步:
Commit and push that branch remotely to the Gitlab server (but not
merge it with master)
您可以使用此命令推送到服务器:
git push origin mybranchname
第 4 步:
At a later time, initiate a merge request to merge the remote branch
with the remote master
推送远程分支后,您可以通过 GitLab UI 发起合并请求。
找到您创建的新远程分支并寻找绿色 "Create Merge Request" 按钮。
this video 的后半部分有一个非常好的创建和管理合并请求的简短教程。
我对 Git 比较陌生,正在尝试建立某种 workflow/procedure,但不太确定如何实施它。 FWIW 我正在使用 Gitlab,尽管我认为这不重要。
目前一个 repo 只有 master/mainline 而没有其他分支。
我愿意:
- 在本地克隆这个项目
- 在本地创建一个新分支
- 将该分支远程提交并推送到 Gitlab 服务器(但不将其与 master 合并)
- 稍后发起合并请求,将远程分支与远程master合并
显然,对于 #1,我们有 git clone http://path-to-my-gitlab-repo
。对于#2(在本地创建分支)我相信我想要git branch mybranchname
。但是我不确定如何将分支实际推送到远程 Gitlab 服务器(因为它根本不存在),也不知道如何 - 在以后的某个时间 - 发起合并请求。
有什么想法吗?
将本地分支推送到远程存储库
您可以将本地分支推送到名为 origin
的远程存储库,方法是:
git checkout <branchname>
git push origin <branchname>
如果 <branchname>
在远程存储库中不存在 ,它将作为 push
操作的一部分创建。
由于您可能会从该分支推送新提交,因此最好通过添加 --set-upstream
(或 -u
) 选项:
git push --set-upstream origin <branchname>
展望未来,这将允许您通过简单地说:
将新提交推送到远程分支git push
使用 GitLab 创建合并请求
然后您可以使用 GitLab 网络 UI 创建 合并请求 ,如 the documentation 中所述。
第 1 步:
Clone this project locally
确保您要为您正在做的事情使用 http 协议。根据您团队的安全策略,您可能希望使用 SSH。 GitLab UI 具有在两者之间切换的按钮,因此您可以复制粘贴克隆语句。
第 2 步:
Create a new branch, locally
您可以使用 checkout 命令创建并切换到新的本地分支:
git checkout -b mybranchname
这与(使用您喜欢的任何一个)相同:
git branch mybranchname
git checkout mybranchname
第 3 步:
Commit and push that branch remotely to the Gitlab server (but not merge it with master)
您可以使用此命令推送到服务器:
git push origin mybranchname
第 4 步:
At a later time, initiate a merge request to merge the remote branch with the remote master
推送远程分支后,您可以通过 GitLab UI 发起合并请求。
找到您创建的新远程分支并寻找绿色 "Create Merge Request" 按钮。
this video 的后半部分有一个非常好的创建和管理合并请求的简短教程。