Skip to main content

Git: Remove Branches after Merge


After complete your task of a branch commit and push it. Then checkout to the main(normally master branch) Suppose your branch is  branch1 

Then merge it

git checkout master 
git merge branch1

After the merge, it's safe to delete the branch:


git branch -d branch1
Additionally, git will warn you (and refuse to delete the branch) if it thinks you didn't fully merge it yet. If you forcefully delete a branch (with git branch -D) which is not completely merged yet, you have to do some tricks to get the unmerged commits back though (see below).

There are some reasons to keep a branch around though. For example, if it's a feature branch, you may want to be able to do bugfixes on that feature still inside that branch.
If you also want to delete the branch on a remote host, you can do:
git push origin :branch1
This will forcefully delete the branch on the remote (this will not affect already checked-out repositiories though and won't prevent anyone with push access to re-push/create it).

Note: If you want to save the branch you can create a tag before deleting it. The if you want to go back to that point you can checkout that tag.


Show the branches already merge into the current branch : 

git branch --merged master lists branches merged into master
git branch --merged lists branches merged into HEAD (i.e. tip of current branch)
git branch --no-merged lists branches that have not been merged

When you are doing a push/pull to another repository, you are essentially syncing your local git with the remote version. In order to sync your local branches with your remote branches you need to run git fetch -p. This command "prunes" non-existing remote branches from your local repo.

Comments

Popular posts from this blog

Git Repair Permissions

Git Push Error: insufficient permission for adding an object to repository database When you try to push to a shared git remote, you get the following error:  insufficient permission for adding an object to repository database After you have identified and fixed the underlying cause (see below), you’ll want to repair the permissions: cd /path/to/repo.git chgrp -R groupname . chmod -R g+rwX . find . -type d -exec chmod g+s '{}' + Underlying Causes The error could be caused by one of the following: The repository isn’t configured to be a shared repository (see  core.sharedRepository  in  git help config ). If the output of: git config core.sharedRepository is not  group  or  true  or  1  or some mask, try running: git config core.sharedRepository group and then re-run the recursive  chmod  and  chgrp  (see “Repair Permissions” above). The operating system doesn’t interpret a setgid bit o...

Why ReactJS ?

I was decided to learn ReactJs. And asking my self why I want to learn React. What can I do or build using React? To get the answer I do some Researchs and make couple of important notes. Hope It will help who have interest to learn ReactJS. Lets know what is React First.  React is a JavaScript library for building User Interface s. Very often it’s misinterpreted as tool, framework, language. React allows developers to create large web applications that use data which can change over time, without reloading the page. Its main goal is to be fast, simple and scalable. React processes only user interface in applications ( source ).   It also can be use along with other JS freamwork.  To learn More visit :  https://reactjs.org/ As Inspired from Simon Sinek The author of "Start with Why", firstly I was finding my why's. Love the Quote : It is one of life’s greatest joys to wake up in the morning... every morning, With a clear sense of why that day matt...

Download Files From Remote to local via command line

To download Files From Remote to local via command line  normally we use scp. To copy all from  Local Location  to  Remote Location  (Upload) scp - r / path / from / destination username@hostname :/ path / to / destination Copy on current directory from  Remote to Local scp - r username@hostname :/ path / from / file . To download a single file the command will be: scp user@your . server . example . com :/ path / to / foo/file.name / home / user / Desktop / To download a single file the command will be:  scp - r user@your . server . example . com :/ path / to / foo / home / user / Desktop / Help: -r  Recursively copy all directories and files Always use full location from  / , Get full location by  pwd scp  will replace all existing files hostname  will be hostname or IP address if custom port is needed (besides port 22) use  -P portnumber . (dot)  - it means current working directory...