Git cheatsheet

From Wasya Wiki
Jump to: navigation, search

Git cheatsheet - nifty git usage example.

Clear staged files

git clean -df

download a specific tag

git checkout tags/<tag_name>

which commit does a blob belong to?

which.sh:

#!/bin/sh
obj_name="$1"
shift
git log "$@" --pretty=format:'%T %h %s' \
| while read tree commit subject ; do
    if git ls-tree -r $tree | grep -q "$obj_name" ; then
        echo $commit "$subject"
    fi
done
which.sh <blob>

show history for a file

git log --follow -p -- file

show one commit

git diff <commit>~ <commit>

check branch

git branch | grep -e "^*" | cut -d' ' -f 2

see most recent branch

git branch -a --sort=-committerdate
git branch -a --sort=committerdate

What's the latest commit in the branch?

git log -n 1 <branchname> --format=format:%ci

list conflicting files

git diff --name-only --diff-filter=U

set globalgitignore

git config --global core.excludesfile '~/.gitignore'

Allow empty commit

git commit --allow-empty -m 'trigger build'

revert

How do you do reverts, by the way? Do you create a reverse patch from a hash, and commit it on top to develop ?

I’m very careful, so I create a new branch and revert on that, then merge the branch in.

1. checkout and pull develop
2. cut new branch
3. git revert <commit hash> 
4. push to origin and open PR

Exactly the same process as cherry-picks, just with revert instead of cherry-pick

create an empty branch

From: https://stackoverflow.com/questions/34100048/create-empty-branch-on-github

git switch --orphan <new branch>
git commit --allow-empty -m "Initial commit on orphan branch"
git push -u origin <new branch>