Some tasks using Git version control
This is a page of memos about how to do various tasks with the Git version control system. Disclaimer: I am not a git expert. Please exercise caution when you use the advice given here. If you have any comments, email me at the address at the bottom of the page.
Run a script before commiting
To run a script before each commit, add a script with the
name pre-commit
to the directory .git/hooks
.
Fix a merge conflict
git pull edit files with editor to fix problems git add git commit
See Git: You are in the middle of a conflicted merge.
Clone a directory
To clone all the files in dir1
to dir2
,
git clone dir1 dir2
Compare last commit and the one before that
To compare the last commit and the one before that,
git diff HEAD^ HEAD
Show a file at a particular revision
To show a file at a particular revision,
git show 5ca5d4b7028824cec4dc536ea51a9533627e6805:filewhere the number here is the reference from the commitment. You can get the numbers using
git log
.
Retrieve accidentally deleted files
This restores files you have deleted using rm
and
similar.
git ls-files -d | xargs git checkout --
See Git saved my day - restore accidentally deleted files using Git version control and a Linux mailing list.
Get a diff after adding but before committing
git diff --cached
See Git by Example - SysMonBlog.
Web links
- Remove files from Git's index without deleting the actual file
- Remove deleted files from Git's index
- Remove files in .gitignore from version control
- List files which are and are not under version control
- Git Magic