Search This Blog

Thursday, December 23, 2010

Git cheat sheet

I have been using Git for more than a year. Comparing with SVN, the big difference is how to commit the changes to remote repository. Git requires two steps to do it:
  1. commit the changes to local repository (need to add new files explicitly)
  2. push the commit to remote repository
When I first used Git, I often forgot to add new files (git add new_file_name) to let Git track new files, and after commit the changes, I didn't push my changes to remote server.

Here are some commands I would like to share:

Create a new local branch from an existing branch and switch to the new branch:
git checkout -b new_branch existing_branch
Push a newly created branch
git push -u origin new_branch_name
-u will make your branch tracked

Push a tag
         git push origin tag_name

Push all tags not in remote server
        git push origin --tags

Delete a local branch
git branch -D branch_name
Delete a remote branch
git push origin :remote_branch_name
Delete a local tag
git tag -d tag_name
Delete a remote tag
git push origin :refs/tags/tag_name
Remove the references to the deleted remote branches
git remote prune origin
Delete last commit (not pushed yet)
git reset --hard HEAD~1
List all key/value pairs for git config
git config -l
Get a value for a key in git config (for example, get git repository url):
git config --get remote.origin.url
Show all file names changed in a single commit:
git show --pretty="format:" --name-only commit_hash
Cherry Pick
git cherry-pick commit-id-from-other-branch

No comments:

Post a Comment