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

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


当前回答

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

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

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

其他回答

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

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

 git checkout master 
 git merge dev
 git push origin master 

如果你使用的是Mac或Ubuntu,进入分支的工作文件夹。在终端

假设harisdev是分支名。

git checkout master

如果有未跟踪或未提交的文件,您将得到一个错误,您必须提交或删除所有未跟踪或未提交的文件。

git merge harisdev 

git push origin master

最后一个删除分支的命令。

$ git branch -d harisdev
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

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

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

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

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

$ 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来查看变更和分支的可视化树。

步骤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.