我有两个分支,即master和开发在一个GitHub库。我正在做我所有的开发在开发分支显示。

git branch development
git add *
git commit -m "My initial commit message"
git push -u origin development

现在我想将开发分支上的所有更改合并到主分支中。我目前的方法是:

git checkout master 
git merge development
git push -u origin master 

请让我知道我所遵循的程序是否正确。


当前回答

是的,这是正确的,但是它看起来像一个非常基本的工作流,您只是在集成之前缓冲更改。您应该研究一下git支持的更高级的工作流。您可能喜欢主题分支方法,它允许您并行处理多个特性,或者毕业方法,它扩展了您当前的工作流程。

其他回答

是的,这是正确的,但是它看起来像一个非常基本的工作流,您只是在集成之前缓冲更改。您应该研究一下git支持的更高级的工作流。您可能喜欢主题分支方法,它允许您并行处理多个特性,或者毕业方法,它扩展了您当前的工作流程。

如果您可以使用Git Flow工作流,那就太好了。它可以很容易地将开发分支合并到主系统中。

你要做的就是遵循这里提到的git-flow指令:

步骤:

设置git-flow项目 创建分支并合并所有内容进行开发 执行命令git flow release start <version_number> 然后为发布提供有意义的信息 执行命令git flow release finish <version_number> 它会将所有内容合并到master中,并将分支更改为master。 运行命令git push将更改发布到远程主机。

更多信息,请访问页面- http://danielkummer.github.io/git-flow-cheatsheet/

一旦你“签出”了开发分支,你……

 git add .
 git commit -m "first commit"
 git push origin dev
 git merge master

 git checkout master 
 git merge dev
 git push origin master 

我认为最简单的解决办法是

git checkout master
git remote update
git merge origin/Develop -X theirs
git commit -m commit -m "New release"
git push --recurse-submodules=check --progress "origin" refs/heads/Master

这也保存了所有正在使用的分支的历史

步骤1

创建并切换到一个新的“dev”分支,其中您的本地git文件与远程同步,但“dev”分支还不存在。

git branch dev # create
git checkout dev # switch
# No need to git add or git commit, the current
# branch's files will be cloned to the new branch by-default.
git push --set-upstream origin dev # push the "dev" branch to the remote.

步骤2

对“dev”分支(如果您遵循第1步,则是当前的)进行更改,提交并将其推送到远程的“dev”分支。

git add .
git commit -S -m "my first commit to the dev branch" # remove the -S if you're not "secure", secure = when you already setup crypto private and public keys (i.e "verified" green sign in github)
git push -u origin dev # push the changes to the remote, -u origin dev is optional but good to use.

步骤3

将“开发”分支合并到“主”分支中。

git checkout dev # switch to "dev" branch if you're not already.
git merge master # optionally, this command is being used to resolve any conflicts if you pushed any changes to your "master" but "dev" doesn't have that commit.
git checkout master # switch to "master", which is the branch you want to be merged.
git merge --no-ff dev # merge the "dev" branch into the "master" one.