从源代码合并分支的git过程
我是Github存储库的成员,其中有三个分支,从源代码合并分支的git过程,git,svn,github,version-control,merge,Git,Svn,Github,Version Control,Merge,我是Github存储库的成员,其中有三个分支,master、dev和deployment 我使用以下工具在本地计算机上克隆了存储库: git克隆git@github.com:COMPANY/repo.git 我需要做的是将开发分支中推送的更改合并到主分支,然后将主分支合并到部署分支。我的问题是,我只能在本地克隆上看到主分支 我尝试做需要做的事情的方式如下: 我在本地存储库上创建了dev分支和git checkout-b dev和git checkout-b部署分支 我使用:git-pull-or
master
、dev
和deployment
我使用以下工具在本地计算机上克隆了存储库:
git克隆git@github.com:COMPANY/repo.git
我需要做的是将开发分支
中推送的更改合并到主分支
,然后将主分支
合并到部署分支
。我的问题是,我只能在本地克隆上看到主分支
我尝试做需要做的事情的方式如下:
我在本地存储库上创建了dev分支
和git checkout-b dev
和git checkout-b部署分支
我使用:git-pull-origin-dev
和git-pull-origin-deployment
从源站拉取dev分支和deployment分支
我切换到主分支(git checkout master)
并将开发分支
合并到它中:git merge dev
然后我切换到部署分支(git checkout deployment)
,并将主分支
合并到它中: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签出dev
时,它应该使用远程分支(没有-b
开关!)。它将从远程dev
分支自动创建一个新的本地dev
分支。看看这个关于如何获取远程分支的答案:如果您在本地创建了一个与远程分支同名的分支,可能会出现问题——是这样吗?如果是这样,您可能想修改远程分支(显然您看不到)。