mirror of
https://github.com/namibia/tips.git
synced 2024-11-13 16:56:30 +00:00
Most commonly used git tips and tricks.
.doxie.render.js | ||
.doxie.render.toc.js | ||
.gitignore | ||
contributing.md | ||
package.json | ||
README.md | ||
tips.json |
git-tips
Collection of
git-tips
, want to add your tips? Checkout contributing.md
- Overwrite pull
- List of all files till a commit
- Git reset first commit
- List all the conflicted files
- List of all files changed in a commit
- Unstaged changes since last commit
- Changes staged for commit
- Show both staged and unstaged changes
- List all branches that are already merged into master
- Quickly switch to the previous branch
- Remove branches that have already been merged with master
- List all branches and their upstreams, as well as last commit on branch
- Track upstream branch
- Delete local branch
- Delete remote branch
- Undo local changes with the last content in head
- Revert: Undo a commit by creating a new commit
- Resert: Discard commits, advised for private branch
- Reword the previous commit message
- Changing a remote's URL
- Get list of all remote references
- Get list of all local and remote branches
- Get only remote branches
- Stage parts of a changed file, instead of the entire file
- Get git bash completion
- What changed since two weeks?
- See all commits made since forking from master
- Pick commits across branches using cherry-pick
- Find out branches containing commit-hash
- Git Aliases
- Saving current state of tracked files without commiting
- Show list of all saved stashes
- Apply any stash without deleting from the stashed list
- Apply last stashed state and delete it from stashed list
- Delete all stored stashes
- Show all tracked files
- Show all untracked files
- Show all ignored files
- Create new working tree from a repository (git 2.5)
- Create new working tree from HEAD state
Overwrite pull
git fetch --all && git reset --hard origin/master
List of all files till a commit
git ls-tree --name-only -r <commit-ish>
Git reset first commit
git update-ref -d HEAD
List all the conflicted files
git diff --name-only --diff-filter=U
List of all files changed in a commit
git diff-tree --no-commit-id --name-only -r <commit-ish>
Unstaged changes since last commit
git diff
Changes staged for commit
git diff --cached
Show both staged and unstaged changes
git diff HEAD
List all branches that are already merged into master
git checkout master && git branch --merged
Quickly switch to the previous branch
git checkout -
Remove branches that have already been merged with master
git branch --merged | grep -v '\*' | xargs -n 1 git branch -d
List all branches and their upstreams, as well as last commit on branch
git branch -vv
Track upstream branch
git branch -u origin/mybranch
Delete local branch
git branch -d <local_branchname>
Delete remote branch
git push origin --delete <remote_branchname>
Alternatives:
git push origin :<remote_branchname>
Undo local changes with the last content in head
git checkout -- <file_name>
Revert: Undo a commit by creating a new commit
git revert <commit-ish>
Resert: Discard commits, advised for private branch
git reset <commit-ish>
Reword the previous commit message
git commit -v --amend
Changing a remote's URL
git remote set-url origin <URL>
Get list of all remote references
git remote
Alternatives:
git remote show
Get list of all local and remote branches
git branch -a
Get only remote branches
git branch -r
Stage parts of a changed file, instead of the entire file
git add -p
Get git bash completion
curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc
What changed since two weeks?
git whatchanged --since='2 weeks ago'
See all commits made since forking from master
git log --no-merges --stat --reverse master..
Pick commits across branches using cherry-pick
git checkout <branch-name> && cherry-pick <commit-ish>
Find out branches containing commit-hash
git branch -a --contains <commit-ish>
Alternatives:
git branch --contains <commit-ish>
Git Aliases
git config --global alias.<handle> <command>
git config --global alias.st status
Saving current state of tracked files without commiting
git stash
Show list of all saved stashes
git stash list
Apply any stash without deleting from the stashed list
git stash apply <stash@{n}>
Apply last stashed state and delete it from stashed list
git stash pop
Alternatives:
git stash apply stash@{0} && git stash drop stash@{0}
Delete all stored stashes
git stash clear
Alternatives:
git stash drop <stash@{n}>
Show all tracked files
git ls-files -t
Show all untracked files
git ls-files --others
Show all ignored files
git ls-files --others -i --exclude-standard
Create new working tree from a repository (git 2.5)
git worktree add -b <branch-name> <path> <start-point>
Create new working tree from HEAD state
git worktree add --detach <path> HEAD