git 从原点合并分支的过程
git procedure to merge branches from origin
我是 Github 存储库的成员,该存储库有三个分支,master
、dev
和 deployment
。
我在本地计算机上克隆了存储库:
git clone git@github.com:COMPANY/repo.git
我需要做的是将 dev branch
中推送的更改合并到 master branch
中,然后将 master branch
中的更改合并到 deployment branch
中。我的问题是我只在我的本地克隆上看到 master branch
。
我尝试做要求的方法如下:
我在我的本地存储库上创建了一个 dev branch
和一个 deployment branch
:git checkout -b dev
和 git checkout -b deployment
.
我从原点提取了 dev branch
和 deployment branch
:git pull origin dev
和 git pull origin deployment
.
我切换到 master branch(git checkout master)
并将 dev branch
合并到其中:git merge dev
.
然后我切换到 deployment branch(git checkout deployment)
并将 master branch
合并到其中:git merge master
.
这是正确的程序还是有更好的方法?
如何将两个合并分支的所有更改推送回 Github 上的原点?
恐怕您使用了错误的步骤顺序。您不应该使用 git checkout -b dev
创建 dev
和 deployment
分支。这将创建从当前分支分支出来的本地分支 - 这可能不是您想要的。
干净的方式应该是这样的:
# Clone the repo
git clone git@github.com:COMPANY/repo.git
# Fetch everything, just to be sure
git fetch --all
# Take a look at the available branches
# This should list the remote dev and deployment branches in the form 'remotes/origin/dev'
git branch -a
# Now simply check out the dev branch without creating a new branch
git checkout dev
Git 知道如果有一个名为 dev
的远程分支并且您没有匹配的本地分支,那么当您执行 git checkout dev
(没有 -b
开关!)。它将自动从远程 dev
分支创建一个新的本地 dev
分支。
我是 Github 存储库的成员,该存储库有三个分支,master
、dev
和 deployment
。
我在本地计算机上克隆了存储库:
git clone git@github.com:COMPANY/repo.git
我需要做的是将 dev branch
中推送的更改合并到 master branch
中,然后将 master branch
中的更改合并到 deployment branch
中。我的问题是我只在我的本地克隆上看到 master branch
。
我尝试做要求的方法如下:
我在我的本地存储库上创建了一个
dev branch
和一个deployment branch
:git checkout -b dev
和git checkout -b deployment
.我从原点提取了
dev branch
和deployment branch
:git pull origin dev
和git pull origin deployment
.我切换到
master branch(git checkout master)
并将dev branch
合并到其中:git merge dev
.然后我切换到
deployment branch(git checkout deployment)
并将master branch
合并到其中:git merge master
.
这是正确的程序还是有更好的方法?
如何将两个合并分支的所有更改推送回 Github 上的原点?
恐怕您使用了错误的步骤顺序。您不应该使用 git checkout -b dev
创建 dev
和 deployment
分支。这将创建从当前分支分支出来的本地分支 - 这可能不是您想要的。
干净的方式应该是这样的:
# Clone the repo
git clone git@github.com:COMPANY/repo.git
# Fetch everything, just to be sure
git fetch --all
# Take a look at the available branches
# This should list the remote dev and deployment branches in the form 'remotes/origin/dev'
git branch -a
# Now simply check out the dev branch without creating a new branch
git checkout dev
Git 知道如果有一个名为 dev
的远程分支并且您没有匹配的本地分支,那么当您执行 git checkout dev
(没有 -b
开关!)。它将自动从远程 dev
分支创建一个新的本地 dev
分支。