将开发分支与主人合并

我有两个分支,即在GitHub存储库中的master development 。 我正在做所有我在开发分支的发展,如图所示。

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

现在我想将development分支上的所有更改合并到master 。 我目前的做法是:

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

请告诉我,如果我遵循的程序是正确的。

我一般喜欢把master融入到development初级development ,如果有任何的矛盾,我可以在development部门自己解决,我的master保持清洁。

 (on branch development)$ git merge master (resolve any merge conflicts if there are any) git checkout master git merge development (there won't be any conflicts now) 

这两种方法并没有太大的区别,但是我有时会注意到,我并不想在将它们合并之后将分支合并到master ,或者在合并之前还有更多的工作要做合并,所以我倾向于让master保持原样,直到最后的东西。

编辑:从评论

如果你想跟踪谁合并,何时合并,你可以使用--no-ff标志来合并。 这只有在将development合并到master (最后一步)时才是有用的,因为您可能需要在工作stream中多次合并master (第一步),并为它们创build提交节点可能不是很有用。

 git merge --no-ff development 

就我个人而言,我的方法与您的方法类似,只要有几个分支和一些压缩的提交,他们回到主人手中。

我的一个同事不喜欢不得不转换分支机构,并且在开发分支上留下类似于以下所有从开发分支执行的内容。

 git fetch origin master git merge master git push origin development:master 

第一行确保自上次更新本地存储库以来,他有任何上游的提交。

第二个把这些变化(如果有的话)从主人拉到发展

第三个推动开发分支(现在完全合并到主)直到起源/主。

我可能让他的基本工作stream程有点不对,但这是它的主要要点。

如果您可以使用Git Flow命令,那将会很棒。 它容易地将开发分支合并到Master。

你想要做的只是按照这里提到的gitstream程指令,

http://danielkummer.github.io/git-flow-cheatsheet/

脚步。

  • 设置git flow项目
  • 创build分支,并承诺一切发展
  • 运行命令“git flow release start”
  • 然后赋予释义的完整信息
  • 运行命令“git flow release finish”
  • 它会把所有东西都合并起来,把分支变成主。
  • 运行命令“git push”将更改提交给主服务器。

检查上面的链接了解更多信息。

是的,这是正确的,但它看起来像一个非常基本的工作stream程,你只是在变更准备好之前缓冲变化。 你应该看看git支持的更高级的工作stream程 。 你可能会喜欢主题分支的方法,它可以让你并行地处理多个特性,或者使gradle方法扩展你的当前工作stream程。

来自这里,不知道分支的人来自底部的解释。

基本主分支的开发逻辑是:你只在另一个分支上工作,只使用主分支来合并另一个分支。

你开始以这种方式创build一个新的分支:

1)在您的Web根目录中克隆需要的存储库:

 $ cd /var/www $ git clone git@bitbucket.org:user_name/repository_name.git 

2)创build一个新的分支。 它将包含主分支库的最新文件

 $ git branch new_branch 

3)改变git分支到new_branch

 $ git checkout new_branch 

4)像往常一样编码,提交…

 $ git add . $ git commit -m “Initial commit” $ git push (pushes commits only to “new_branch”) 

5)在该分支上完成作业时,与“主”分支合并:

 $ git merge master $ git checkout master (goes to master branch) $ git merge development (merges files in localhost. Master shouldn't have any commits ahead, otherwise there will be a need for pull and merging code by hands!) $ git push (pushes all “new_branch” commits to both branches - “master” and “new_branch”) 

分行发展

 $ git merge master 

(解决任何合并冲突)

 git checkout master git merge development (there won't be any conflicts now) 

一旦完成合并,您需要将代码推送到主设备。 这是因为合并默认提交操作,而不是推送。

1)在分支开发上,使用以下命令检查git状态:

git状态

不应该有任何未提交的代码。 如果是,请将您的代码推到开发分支上:

git add *

git commit -m“我最初的提交信息”

git push origin开发

2)在开发分支上,运行以下两个命令:

git分支-f master master HEAD

git push -f原点大师

它会将您的开发分支代码推送到主分支。

git pull(当前开发分支)

git checkout master

混帐拉

混帐开发

git推送起源大师