Git

delete all merged branches

delete all remote branches that have already been merged into master 1

git push origin --delete $(git branch -r --merged origin/master \
| grep origin \
| egrep -v '>|master|develop' \
| cut -d/ -f2-)

This can produce errors with refs. If this happens I recommend:

git branch -r --merged origin/master \
| grep origin \
| egrep -v '>|master|develop' \
| cut -d/ -f2- > all.txt

putting all the errors in to error.txt

then running:

comm -23 all.txt error.txt > delete.txt

-23 suppresses the lines that are in both files, or only in file 2. The files have to be sorted (they are in your example) but if not, pipe them through sort first...2

removing references to deleted remote branches

This command show the remote branch, but it sometimes shows branches that have been deleted.

git branch -r

To remove them

git remote prune origin

Syncing a fork

Configuring a remote for a fork

  • List the current configured remote repository for your fork.

    git remote -v
    origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  • Specify a new remote upstream repository that will be synced with the fork.

    git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
  • Verify the new upstream repository you've specified for your fork.

    git remote -v
    origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

    Syncing a fork

    Sync a fork of a repository to keep it up-to-date with the upstream repository.

  • Change the current working directory to your local project.

  • Fetch the branches and their respective commits from the upstream repository. Commits to ''master'' will be stored in a local branch, ''upstream/master''.

    git fetch upstream
    remote: Counting objects: 75, done.
    remote: Compressing objects: 100% (53/53), done.
    remote: Total 62 (delta 27), reused 44 (delta 9)
    Unpacking objects: 100% (62/62), done.
    From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
    * [new branch]      master     -> upstream/master
  • Check out your fork's local ''master'' branch.

    git checkout master
    Switched to branch 'master'
  • Merge the changes from ''upstream/master'' into your local ''master'' branch. This brings your fork's ''master'' branch into sync with the upstream repository, without losing your local changes.

    git merge upstream/master
    Updating a422352..5fdff0f
    Fast-forward
    README                    |    9 -------
    README.md                 |    7 ++++++
    2 files changed, 7 insertions(+), 9 deletions(-)
    delete mode 100644 README
    create mode 100644 README.md

Get all tags

git fetch --all --tags

Last updated