git配置
git config --globaluser.name "robbin"git config --globaluser.email "[email protected]"git config --globalcolor.ui truegit config --globalalias.co checkout
git config --globalalias.ci commit
git config --globalalias.st status
git config --globalalias.br branch
git config --globalcore.editor "mate -w"# 設定editor使用textmategit config -l # 列舉所有配置
使用者的git配置檔案
~/.gitconfig
git常用命令
檢視、新增、提交、刪除、找回,重置修改檔案
git help # 顯示command的helpgit show # 顯示某次提交的內容git show $id
git co --# 拋棄工作區修改git co .# 拋棄工作區修改git add # 將工作檔案修改提交到本地暫存區git add .# 將所有修改過的工作檔案提交暫存區git rm # 從版本庫中刪除檔案git rm --cached # 從版本庫中刪除檔案,但不刪除檔案git reset # 從暫存區恢復到工作檔案git reset --.# 從暫存區恢復到工作檔案git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改git ci git ci .git ci -a # 將git add, git rm和git ci等操作都合併在一起做git ci -am "some comments"git ci --amend # 修改最後一次提交記錄git revert <$id># 恢復某次提交的狀態,恢復動作本身也建立了一次提交物件git revert head # 恢復最後一次提交的狀態
檢視檔案diff
git diff # 比較當前檔案和暫存區檔案差異git diff
git diff <$id1><$id2># 比較兩次提交之間的差異git diff
..# 在兩個分支之間比較 git diff --staged # 比較暫存區和版本庫差異git diff --cached # 比較暫存區和版本庫差異git diff --stat # 僅僅比較統計資訊
檢視提交記錄
git log
git log # 檢視該檔案每次提交記錄git log -p # 檢視每次詳細修改內容的diffgit log -p -2# 檢視最近兩次詳細修改內容的diffgit log --stat # 檢視提交統計資訊
tig
mac上可以使用
tig
代替diff
和log
,brew install tig
git 本地分支管理
檢視、切換、建立和刪除分支
git br -r # 檢視遠端分支git br # 建立新的分支git br -v # 檢視各個分支最後提交資訊git br --merged # 檢視已經被合併到當前分支的分支git br --no-merged # 檢視尚未被合併到當前分支的分支git co
# 切換到某個分支git co -b # 建立新的分支,並且切換過去git co -b
# 基於branch建立新的new_branchgit co $id # 把某次歷史提交記錄checkout出來,但無分支資訊,切換到其他分支會自動刪除git co $id -b # 把某次歷史提交記錄checkout出來,建立成乙個分支git br -d
# 刪除某個分支git br -d
# 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)
分支合併和rebase
git merge
# 將branch分支合併到當前分支git merge origin/master --no-ff # 不要fast-foward合併,這樣可以生成merge提交git rebase master
# 將master rebase到branch,相當於:git co
&&git rebase master &&git co master &&git merge
git補丁管理(方便在多台機器上開發同步時用)
git暫存管理
git遠端分支管理
git pull # 抓取遠端倉庫所有分支更新並合併到本地git pull --no-ff # 抓取遠端倉庫所有分支更新並合併到本地,不要快進合併git fetch origin # 抓取遠端倉庫更新git merge origin/master # 將遠端主分支合併到本地當前分支git co --track origin/branch # 跟蹤某個遠端分支建立相應的本地分支git co -b origin/# 基於遠端分支建立本地分支,功能同上git push # push所有分支git push origin master # 將本地主分支推到遠端主分支git push -u origin master # 將本地主分支推到遠端(如無遠端主分支則建立,用於初始化遠端倉庫)git push origin # 建立遠端分支, origin是遠端倉庫名git push origin :# 建立遠端分支git push origin :#先刪除本地分支(git br -d
),然後再push刪除遠端分支
git遠端倉庫管理
git remote -v # 檢視遠端伺服器位址和倉庫名稱git remote show origin # 檢視遠端伺服器倉庫狀態git remote add origin git@github:robbin/robbin_site.git # 新增遠端倉庫位址git remote set-url origin [email protected]:robbin/robbin_site.git # 設定遠端倉庫位址(用於修改遠端倉庫位址)git remote rm # 刪除遠端倉庫
建立遠端倉庫
git clone --bare robbin_site robbin_site.git # 用帶版本的專案建立純版本倉庫scp -r my_project.git [email protected]:~# 將純倉庫上傳到伺服器上mkdir robbin_site.git &&cd robbin_site.git &&git --bare init # 在伺服器建立純倉庫git remote add origin [email protected]:robbin/robbin_site.git # 設定遠端倉庫位址git push -u origin master # 客戶端首次提交git push -u origin develop # 首次將本地develop分支提交到遠端develop分支,並且trackgit remote set-head origin master # 設定遠端倉庫的head指向master分支
也可以命令設定跟蹤遠端庫和本地庫
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
Git常用命令備忘
git config global user.name vito zhou git config global user.email zhouwentao16 gmail.com git config global color.ui true git config global alias.co c...
Git常用命令備忘
git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...
Git常用命令備忘
git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...