http://learngitbranching.js.org/是個學習git的網站,以游戲的模式一步步教會新手如何使用git,本文是記錄我在玩的過程中,復習和學習到的git命令。
--------分割線--------
提交:
- git commit : 提交當前的版本
- git branch newImage : 創建新分支newImage
- git checkout newImage : 切換到分支newImage
- 參數-b : 創建新分支,同時切換過去
- git merge bugFix : 將分支bugFix合並到當前分支
- git rebase master : 將當前分支移植到Master分支上,並切換過去
- git checkout commitHash : 通過指定提交的hash值(前幾位即可),將HEAD移到指定的提交上
- git log : 查看提交歷史
- git checkout master^ : 切換到Master的父節點,HEAD分離
- git checkout HEAD~4 : 當前HEAD倒推4次,~是相對引用
- git branch -f master HEAD~3 : 強制移動到Master分支的父3級
- git reset HEAD~1 : 本地暫存區撤銷最近一次提交,但是代碼還在
- git revert HEAD : 新提交一次,使代碼恢復到之前一次的狀態
其他:
- git cherry-pick c2 c4 : 將c2和c4的提交復制到當前分支下
- git rebase -i HEAD~4 : 以交互式的界面將之前4次提交復制到新分支上
- git commit --amend : 修改本次提交
- git tag v1 [C1] : 對[提交C1,默認當前HEAD]標記tag為v1
- git describe master : 顯示<最近tag>_<相差的提交次數>_g<當前提交hash>
遠程:
- git clone : 克隆遠程庫
- git fetch : 本地獲取遠程庫最新提交,不改變其他branch
- git pull : 等於git fetch + git merge origin/master 拉取遠程庫最新提交,合並到本地分支
- git push : 本地提交推送到遠端庫
- git pull --rebase : 合並遠程庫最新提交到本地,本地代碼附加在最后
- git checkout -b foo origin/master : 創建本地分支foo,trace遠程分支Master
- git branch -u origin/master foo : 將分支foo 關聯trace遠程分支master
- git push origin master : 將本地master分支推送到遠端origin/master上
- git fetch origin <source>:<place> : 將遠程source庫的最新代碼更新到本地place庫,如果place不存在就主動創建