———————————————————————————————————————————————————————————————————————————————— Adding and updating ————————————————————————————————————————————————————————————————————————————————
$ REMOTE='' && BRANCH='' && git fetch $REMOTE $BRANCH:$BRANCH && git merge
BRANCH='develop' &&
git fetch $REMOTE $BRANCH:$BRANCH &&
git merge
$ git branch -m <old_name> <new_name> # local change $ git push --delete <old_name> # erase from remote $ git push <new_name> # re-publish to remote with new name $ git push -u # set new upstream
$ REMOTE='' && OLD_NAME='<old_name>' && NEW_NAME='<new_name>' && git branch -m $OLD_NAME $NEW_NAME && git push $REMOTE --delete $OLD_NAME && git push $REMOTE $NEW_NAME && git push $REMOTE -u
git branch <local_branch> --set-upstream-to <remote_name>/<remote_branch> git branch develop --set-upstream-to origin/develop
$ git checkout <branch_name> --
$ git cherry-pick -n
$ git checkout --orphan ———————————————————————————————————————————————————————————————————————————————— Status and visualization ————————————————————————————————————————————————————————————————————————————————
COMMIT=<commit_hash> && git diff $COMMIT~ $COMMIT
$ git log --graph
git log --oneline
$ git log --author
$ git diff --cached
$ git diff ..<another_branch> $ git diff develop..master
$ git diff .. --
$ git diff --name-status ..
git diff -- . ':(exclude)' git diff -- . ':(exclude)package-lock.json' git diff -- . ':(exclude)db/irrelevant.php' ':(exclude)db/irrelevant2.php' ———————————————————————————————————————————————————————————————————————————————— Reseting and reverting ————————————————————————————————————————————————————————————————————————————————
git reset HEAD --
$ git fetch origin master:master
$ git fetch origin && git reset --hard origin/ $ git fetch origin && git reset --hard origin/master $ git fetch origin && git reset --hard origin/develop ———————————————————————————————————————————————————————————————————————————————— Adding and updating ————————————————————————————————————————————————————————————————————————————————
$ REMOTE='' && BRANCH='' && git fetch $REMOTE $BRANCH:$BRANCH && git merge
BRANCH='develop' &&
git fetch $REMOTE $BRANCH:$BRANCH &&
git merge
$ git branch -m <old_name> <new_name> # local change $ git push --delete <old_name> # erase from remote $ git push <new_name> # re-publish to remote with new name $ git push -u # set new upstream
$ REMOTE='' && OLD_NAME='<old_name>' && NEW_NAME='<new_name>' && git branch -m $OLD_NAME $NEW_NAME && git push $REMOTE --delete $OLD_NAME && git push $REMOTE $NEW_NAME && git push $REMOTE -u
git branch <local_branch> --set-upstream-to <remote_name>/<remote_branch> git branch develop --set-upstream-to origin/develop
$ git checkout <branch_name> --
$ git cherry-pick -n
$ git checkout --orphan ———————————————————————————————————————————————————————————————————————————————— Status and visualization ————————————————————————————————————————————————————————————————————————————————
COMMIT=<commit_hash> && git diff $COMMIT~ $COMMIT
$ git log --graph
git log --oneline
$ git log --author
$ git diff --cached
$ git diff ..<another_branch> $ git diff develop..master
$ git diff .. --
$ git diff --name-status ..
git diff -- . ':(exclude)' git diff -- . ':(exclude)package-lock.json' git diff -- . ':(exclude)db/irrelevant.php' ':(exclude)db/irrelevant2.php' ———————————————————————————————————————————————————————————————————————————————— Reseting and reverting ————————————————————————————————————————————————————————————————————————————————
git reset HEAD --
$ git fetch origin master:master
$ git fetch origin && git reset --hard origin/ $ git fetch origin && git reset --hard origin/master $ git fetch origin && git reset --hard origin/develop
$ git reset --hard / $ git reset --hard origin/develop $ git checkout -- .
$ git clean -n # preview what will be removed $ git clean -fd # actually remove
git stash push -m ""
$ git stash push -p -m "_____"
$ git stash show -p stash@{1} ———————————————————————————————————————————————————————————————————————————————— Erasing ————————————————————————————————————————————————————————————————————————————————
$ git branch -d branch_name $ git branch -D branch_name # force
$ git push <remote_name> --delete <branch_name> $ git push <remote_name> :<branch_name> # alternate method
$ git tag -d && git push origin :refs/tags/ $ git tag -d v0.9.5 && git push origin :refs/tags/v0.9.5 $ git push --delete origin && git tag -d
$ git tag -l | xargs git tag -d && git fetch && git tag -l | xargs -n 1 git push --delete origin && git tag -l | xargs git tag -d ———————————————————————————————————————————————————————————————————————————————— Etc ————————————————————————————————————————————————————————————————————————————————
$ git repack -a -d --depth=250 --window=250
$ git gc --aggressive --prune
git remote -v git remote add git remote set-url
git remote rm git remote renamehttps://dev.to/zaiste/15-git-commands-you-may-not-know-4a8j https://blog.novoda.com/git-code-detectives/
$ git reset --hard / $ git reset --hard origin/develop $ git checkout -- .
$ git clean -n # preview what will be removed $ git clean -fd # actually remove
git stash push -m ""
$ git stash push -p -m "_____"
$ git stash show -p stash@{1} ———————————————————————————————————————————————————————————————————————————————— Erasing ————————————————————————————————————————————————————————————————————————————————
$ git branch -d branch_name $ git branch -D branch_name # force
$ git push <remote_name> --delete <branch_name> $ git push <remote_name> :<branch_name> # alternate method
$ git tag -d && git push origin :refs/tags/ $ git tag -d v0.9.5 && git push origin :refs/tags/v0.9.5 $ git push --delete origin && git tag -d
$ git tag -l | xargs git tag -d && git fetch && git tag -l | xargs -n 1 git push --delete origin && git tag -l | xargs git tag -d ———————————————————————————————————————————————————————————————————————————————— Etc ————————————————————————————————————————————————————————————————————————————————
$ git repack -a -d --depth=250 --window=250
$ git gc --aggressive --prune
git remote -v git remote add git remote set-url
git remote rm git remote renamehttps://dev.to/zaiste/15-git-commands-you-may-not-know-4a8j https://blog.novoda.com/git-code-detectives/