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

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


当前回答

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

其他回答

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

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

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

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

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

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

第三个将开发分支(现在与master完全合并)推到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. //push the latest changes of current development branch if any        
git push (current development branch)

2. //switch to master branch
git checkout master 

3. //pull all the changes if any from (current development branch)
git pull origin (current development branch)

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

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

Error
To https://github.com/rajputankit22/todos-posts.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/rajputankit22/todos-posts.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Then Use 
5. //push the master branch forcefully
git push -f origin master

我通常都是这么做的。首先,确保您已经准备好将更改合并到master中。

通过git获取,检查开发是否与远程服务器的最新更改保持一致 一旦获取完成,git签出主。 通过执行git pull,确保主分支有最新的更新 一旦准备工作完成,就可以开始使用git合并开发进行合并了 用git Push -u origin master进行修改,就完成了。

您可以在本文中找到更多关于git合并的信息。