[git] Git in Practice
Work flow with git and github
Work with Remotes
Check the current status
git status
Check the latest source on remote branch
git fetch git status git log <remote>/<branch> --not <current_branch> git merge <remote>/<branch>
Add an remote Repo
git remote add <shortname> <url>
Check the remote
git remote -v // check all remote git remote show <remote> // show the detail status of an remote
Rename an rename
git remote rename <origin> <destination>
Remove the upstream for the current branch
git branch --unset-upstream
Change the remote that <branchA> is trancing
git branch <branchA> -u <new_remote>/<branch>
Push the current branch as an new branch to remote
git push <remote> <branch>
Push changes to another remote branch
git push <new_remote>/<branch>
Work with Branches
Check branches
git branch // check local branches git branch --all // check local and remote branches
Create a new branch
git branch branchA // create a new branch based on the current branch git branch branchB <remote>/<branch> // create a new branch that traces <remote>/<branch>
Switch branch
git checkout branchB // change the current branch to branchB
Check the mapping between local branch and remote branch
git branch -vv
Rename an branch
git branch -m <oldname> <newname>
Others Common Commands
Show the content of an commit
git show <commit-id> git show <commit-id> --name-only
Check differences according log
git log branchA --not branchB
git log branchA --not branchB --name-only
Obtain the latest source under version control
git checkout <file-name> // checkout the latest file under version control, and discard local changes git checkout <branchA> // switch the current branch to branchA
Commit changes
git commit -m '' . // submit all tranced files under the current folder, no matter if they are git-added
Reference: