我有两个分支,即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 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/

其他回答

1. //pull the latest changes of current development branch if any        
git pull (current development branch)

2. //switch to master branch
git checkout master 

3. //pull all the changes if any
git pull

4. //Now merge development into master    
git merge development

5. //push the master branch
git push origin master

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

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

 git checkout master 
 git merge dev
 git push origin master 

就我个人而言,我的方法与您的类似,在提交返回到master时增加一些分支和一些压缩。

我的一个同事不喜欢如此频繁地切换分支,而是停留在开发分支上,并从开发分支执行类似于以下内容的内容。

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

第一行确保他拥有自上次更新本地存储库以来提交给master的所有上游提交。

第二步将这些更改(如果有的话)从master导入到开发中

第三个将开发分支(现在与master完全合并)推到origin/master。

我可能把他的基本工作流程搞错了,但这是它的主要要点。

如果您可以使用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/

对于那些不懂树枝的同学,从头到尾给你们讲解。

基本的主/主分支开发逻辑是:您只在另一个分支上工作,所以您只使用主/主分支与另一个准备合并的分支合并。

你开始以这样的方式创建一个新分支:

在您的本地目录克隆存储库(或创建一个新的存储库):

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

创建一个新分支。它将包含主分支存储库的最新文件

$ git branch new_branch

将当前git分支更改为new_branch

$ git checkout new_branch

像往常一样进行编码、提交……

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

当这个分支上的任务完成时,与“master”分支合并:

$ 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”

我还推荐使用Sourcetree App来查看变更和分支的可视化树。