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.
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.
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 ).
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.
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:
You are on the master branch.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With