標籤:

Git 常用命令整理

初始化配置 C代碼

  1. #配置使用git倉庫的人員姓名
  2. gitconfig--globaluser.name"YourNameComesHere"
  3. #配置使用git倉庫的人員email
  4. gitconfig--globaluser.emailyou@yourdomain.example.com
  5. #配置到緩存默認15分鐘
  6. gitconfig--globalcredential.helpercache
  7. #修改緩存時間
  8. gitconfig--globalcredential.helper"cache--timeout=3600"
  9. gitconfig--globalcolor.uitrue
  10. gitconfig--globalalias.cocheckout
  11. gitconfig--globalalias.cicommit
  12. gitconfig--globalalias.ststatus
  13. gitconfig--globalalias.brbranch
  14. gitconfig--globalcore.editor"mate-w"#設置Editor使用textmate
  15. gitconfig-1#列舉所有配置
  16. #用戶的git配置文件~/.gitconfig

查看、添加、提交、刪除、找回,重置修改文件 C代碼

  1. githelp<command>#顯示command的help
  2. gitshow#顯示某次提交的內容
  3. gitshow$id
  4. gitco--<file>#拋棄工作區修改
  5. gitco.#拋棄工作區修改
  6. gitadd<file>#將工作文件修改提交到本地暫存區
  7. gitadd.#將所有修改過的工作文件提交暫存區
  8. gitrm<file>#從版本庫中刪除文件
  9. gitrm<file>--cached#從版本庫中刪除文件,但不刪除文件
  10. gitreset<file>#從暫存區恢復到工作文件
  11. gitreset--.#從暫存區恢復到工作文件
  12. gitreset--hard#恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改
  13. gitci<file>
  14. gitci.
  15. gitci-a#將gitadd,gitrm和gitci等操作都合併在一起做
  16. gitci-am"somecomments"
  17. gitci--amend#修改最後一次提交記錄
  18. gitrevert<$id>#恢復某次提交的狀態,恢復動作本身也創建了一次提交對象
  19. gitrevertHEAD#恢復最後一次提交的狀態

查看文件diff C代碼

  1. gitdiff<file>#比較當前文件和暫存區文件差異
  2. gitdiff
  3. gitdiff<$id1><$id2>#比較兩次提交之間的差異
  4. gitdiff<branch1>..<branch2>#在兩個分支之間比較
  5. gitdiff--staged#比較暫存區和版本庫差異
  6. gitdiff--cached#比較暫存區和版本庫差異
  7. gitdiff--stat#僅僅比較統計信息

查看提交記錄 C代碼

  1. gitlog
  2. gitlog<file>#查看該文件每次提交記錄
  3. gitlog-p<file>#查看每次詳細修改內容的diff
  4. gitlog-p-2#查看最近兩次詳細修改內容的diff
  5. gitlog--stat#查看提交統計信息

tig

Mac上可以使用tig代替diff和log,brew install tig

取得Git倉庫C代碼

  1. #初始化一個版本倉庫
  2. gitinit
  3. #Clone遠程版本庫
  4. gitclonegit@xbc.me:wordpress.git
  5. #添加遠程版本庫origin,語法為gitremoteadd[shortname][url]
  6. gitremoteaddorigingit@xbc.me:wordpress.git
  7. #查看遠程倉庫
  8. gitremote-v

提交你的修改C代碼

  1. #添加當前修改的文件到暫存區
  2. gitadd.
  3. #如果你自動追蹤文件,包括你已經手動刪除的,狀態為Deleted的文件
  4. gitadd-u
  5. #提交你的修改
  6. gitcommit–m"你的注釋"
  7. #推送你的更新到遠程伺服器,語法為gitpush[遠程名][本地分支]:[遠程分支]
  8. gitpushoriginmaster
  9. #查看文件狀態
  10. gitstatus
  11. #跟蹤新文件
  12. gitaddreadme.txt
  13. #從當前跟蹤列表移除文件,並完全刪除
  14. gitrmreadme.txt
  15. #僅在暫存區刪除,保留文件在當前目錄,不再跟蹤
  16. gitrm–cachedreadme.txt
  17. #重命名文件
  18. gitmvreademe.txtreadme
  19. #查看提交的歷史記錄
  20. gitlog
  21. #修改最後一次提交注釋的,利用–amend參數
  22. gitcommit--amend
  23. #忘記提交某些修改,下面的三條命令只會得到一個提交。
  24. gitcommit–m&quot;addreadme.txt&quot;
  25. gitaddreadme_forgotten
  26. gitcommit–amend
  27. #假設你已經使用gitadd.,將修改過的文件a、b加到暫存區
  28. #現在你只想提交a文件,不想提交b文件,應該這樣
  29. gitresetHEADb
  30. #取消對文件的修改
  31. gitcheckout–-readme.txt

查看、切換、創建和刪除分支C代碼

  1. gitbr-r#查看遠程分支
  2. gitbr<new_branch>#創建新的分支
  3. gitbr-v#查看各個分支最後提交信息
  4. gitbr--merged#查看已經被合併到當前分支的分支
  5. gitbr--no-merged#查看尚未被合併到當前分支的分支
  6. gitco<branch>#切換到某個分支
  7. gitco-b<new_branch>#創建新的分支,並且切換過去
  8. gitco-b<new_branch><branch>#基於branch創建新的new_branch
  9. gitco$id#把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除
  10. gitco$id-b<new_branch>#把某次歷史提交記錄checkout出來,創建成一個分支
  11. gitbr-d<branch>#刪除某個分支
  12. gitbr-D<branch>#強制刪除某個分支(未被合併的分支被刪除的時候需要強制)

分支合併和rebaseC代碼

  1. gitmerge<branch>#將branch分支合併到當前分支
  2. gitmergeorigin/master--no-ff#不要Fast-Foward合併,這樣可以生成merge提交
  3. gitrebasemaster<branch>#將masterrebase到branch,相當於:
  4. gitco<branch>&&gitrebasemaster&&gitcomaster&&gitmerge<branch>

Git補丁管理(方便在多台機器上開發同步時用)C代碼

  1. gitdiff>../sync.patch#生成補丁
  2. gitapply../sync.patch#打補丁
  3. gitapply--check../sync.patch#測試補丁能否成功

Git暫存管理C代碼

  1. gitstash#暫存
  2. gitstashlist#列所有stash
  3. gitstashapply#恢復暫存的內容
  4. gitstashdrop#刪除暫存區

Git遠程分支管理C代碼

  1. gitpull#抓取遠程倉庫所有分支更新併合併到本地
  2. gitpull--no-ff#抓取遠程倉庫所有分支更新併合併到本地,不要快進合併
  3. gitfetchorigin#抓取遠程倉庫更新
  4. gitmergeorigin/master#將遠程主分支合併到本地當前分支
  5. gitco--trackorigin/branch#跟蹤某個遠程分支創建相應的本地分支
  6. gitco-b<local_branch>origin/<remote_branch>#基於遠程分支創建本地分支,功能同上
  7. gitpush#push所有分支
  8. gitpushoriginmaster#將本地主分支推到遠程主分支
  9. gitpush-uoriginmaster#將本地主分支推到遠程(如無遠程主分支則創建,用於初始化遠程倉庫)
  10. gitpushorigin<local_branch>#創建遠程分支,origin是遠程倉庫名
  11. gitpushorigin<local_branch>:<remote_branch>#創建遠程分支
  12. gitpushorigin:<remote_branch>#先刪除本地分支(gitbr-d<branch>),然後再push刪除遠程分支

基本的分支管理C代碼

  1. #創建一個分支
  2. gitbranchiss53
  3. #切換工作目錄到iss53
  4. gitchekcoutiss53
  5. #將上面的命令合在一起,創建iss53分支並切換到iss53
  6. gitchekcout–biss53
  7. #合併iss53分支,當前工作目錄為master
  8. gitmergeiss53
  9. #合併完成後,沒有出現衝突,刪除iss53分支
  10. gitbranch–diss53
  11. #拉去遠程倉庫的數據,語法為gitfetch[remote-name]
  12. gitfetch
  13. #fetch會拉去最新的遠程倉庫數據,但不會自動到當前目錄下,要自動合併
  14. gitpull
  15. #查看遠程倉庫的信息
  16. gitremoteshoworigin
  17. #建立本地的dev分支追蹤遠程倉庫的develop分支
  18. gitcheckout–bdevorigin/develop

Git遠程倉庫管理 C代碼

  1. gitremote-v#查看遠程伺服器地址和倉庫名稱
  2. gitremoteshoworigin#查看遠程伺服器倉庫狀態
  3. gitremoteaddorigingit@github:robbin/robbin_site.git#添加遠程倉庫地址
  4. gitremoteset-urlorigingit@github.com:robbin/robbin_site.git#設置遠程倉庫地址(用於修改遠程倉庫地址)
  5. gitremoterm<repository>#刪除遠程倉庫

創建遠程倉庫C代碼

  1. gitclone--barerobbin_siterobbin_site.git#用帶版本的項目創建純版本倉庫
  2. scp-rmy_project.gitgit@git.csdn.net:~#將純倉庫上傳到伺服器上
  3. mkdirrobbin_site.git&&cdrobbin_site.git&&git--bareinit#在伺服器創建純倉庫
  4. gitremoteaddorigingit@github.com:robbin/robbin_site.git#設置遠程倉庫地址
  5. gitpush-uoriginmaster#客戶端首次提交
  6. gitpush-uorigindevelop#首次將本地develop分支提交到遠程develop分支,並且track
  7. gitremoteset-headoriginmaster#設置遠程倉庫的HEAD指向master分支

也可以命令設置跟蹤遠程庫和本地庫C代碼

  1. gitbranch--set-upstreammasterorigin/master
  2. gitbranch--set-upstreamdeveloporigin/develop

參考資料

遠程倉庫的使用

何謂分支

基本的分支與合併

分支的管理

分支式工作流程

遠程分支

衍合

參考1: http://www.xbc.me/git-commands/

參考2: http://neverno.me/hello-world/git-commands-github.html

在線中文圖書: 1. Git Magic 2. Pro Git

推薦閱讀:

王虎應增刪卜易評釋(整理)天時章
各國軍刺大全!!!附介紹(精心整理)
小坎肩小背心整理
再也不坐爛飛機了,我們幫你整理了一份最佳航空公司清單

TAG:整理 |