Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to merge one remote branch into another remote branch?

Tags:

I would like to know how to merge one remote branch into another remoter branch and have the previous one removed right after the merge applied.

like image 522
Zorgiev Avatar asked Apr 28 '14 08:04

Zorgiev


People also ask

How do I merge branches in another branch?

To merge branches locally, use git checkout to switch to the branch you want to merge into. This branch is typically the main branch. Next, use git merge and specify the name of the other branch to bring into this branch. This example merges the jeff/feature1 branch into the main branch.

How do I merge branches in remote repository?

The idea here, is to merge "one of your local branch" (here anotherLocalBranch ) to a remote branch ( origin/aBranch ). For that, you create first " myBranch " as representing that remote branch: that is the git checkout -b myBranch origin/aBranch part. And then you can merge anotherLocalBranch to it (to myBranch ).

How do I merge a remote branch in GitHub?

In GitHub Desktop, use the Current Branch drop-down, and select the local branch you want to update. To pull any commits from the remote branch, click Pull origin or Pull origin with rebase. Resolve any merge conflicts in your preferred way, using a text editor, the command line, or another tool.


2 Answers

From what I understand, you have one remote foo, containing branch_1 and branch_2. First, we can't do merge operation remotly. We have to track the remote repository, do the operation we want locally (such as merging branches) and then push our new snapshot to the server.

Ie:

  • git clone [repo_adress]

You are on the master branch.

  • You can then checkout or create other branches and do your work in it.

Now suppose we have the two branches branch_1 and branch_2. You want to merge branch_1 into branch_2 and then delete branch_1.

You checkout to branch_2 and then merge branch_1 with it:

$ git checkout branch_2 $ git merge branch_1 

From there either the merge is smooth or you've got conflict. Once the merge is done, you can delete the merged branch i.e branch_1 by doing:

$ git branch -d branch_1 

And then push your work:

$ git push 

In case branch_2 doesn't exist on the remote, you've got to create it:

$ git push -u foo branch_2 

Note that deleting branch_1 locally doesn't delete it remotely (considering that it exists on the remote). To do so, we are going to say to git: "push nothing to the branch i want to delete" ie:

$ git push remote_name :branch_name 

To read like git remote push remote_name "nothing":branch_name.

Now is there any mean to do it automatically?

I don't know (although I would investigate post merge "git hook"), but I'm not sure we ought to wish it. Deleting branches on remote is somewhat hazardous. Doing so manually is a good way to be sure of what we are doing.

like image 74
chaiyachaiya Avatar answered Sep 29 '22 15:09

chaiyachaiya


You can switch to the tracking branch(a local branch which represents your remote branch) in which you want to merge another branch by using the following command

git checkout origin/name_of_your_branch 

After that merge the another remote branch

git merge origin/brach_name_you_wanted_to_merge 

After that, if any conflicts occur, solve it. and after that just commit and push.

and now checkout to your local branch. by the following command

git checkout name_of_your_brnach 

After that pull the origin by using git pull command. that's it.

like image 42
Riddhi Avatar answered Sep 29 '22 15:09

Riddhi