查看、添加、提交、刪除、找回,重置修改文件
顯示command的help
git help command
顯示提交內容
git show
顯示某次提交的內容
git show $id
拋棄工作區某個文件的修改
git co – filename
拋棄工作區所以文件的修改
git co .
將工作文件的修改提交到本地暫存區
git add filename
將所有修改過的工作文件提交暫存區
git add .
從版本庫中刪除文件
git rm filename
從版本庫中刪除文件,但不刪除文件
git rm filename –cached
從暫存區恢復到工作文件
git reset filename
從暫存區恢復所以文件到工作文件
git reset – .
恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改
git reset –hard
將git add, git rm和git ci等操作都合併在一起
git ci -am “some comments”
修改最後一次提交記錄
git ci –amend
- 恢復某次提交的狀態,恢復動作本身也創建次提交對象
git revert
- 恢復某次提交的狀態,恢復動作本身也創建次提交對象
查看文件 diff
比較當前文件和暫存區文件差異
git diff filename
比較兩次提交之間的差異
git diff id1 id2
在兩個分支之間比較差異
git diff branch1 branch2
比較暫存區和版本庫差異
git diff –staged
比較暫存區和版本庫差異
git diff –cached
僅僅比較統計信息
git diff –stat
查看提交記錄 log
查看該文件每次提交記錄
git log filename
查看每次詳細修改內容的diff
git log -p filename
查看最近兩次詳細修改內容的diff
git log -p -2
查看提交統計信息
git log –stat
Git 本地分支管理
查看、切換、創建和刪除分支
查看遠程分支
git branch -r
創建新的分支
git branch new_branch
查看各個分支最後提交信息
git branch -v
查看已經被合併到當前分支的分支
git branch –merged
查看尚未被合併到當前分支的分支
git branch –no-merged
切換到某個分支
git checkout branch
創建新的分支,並且切換過去
git checkout -b new_branch
基於一個分支創建一個新的分支
git checkout -b new_branch_name branch_name
把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除
git checkout $id
把某次歷史提交記錄checkout出來,創建成一個分支
git checkout $id -b new_branch
刪除某個分支
git branch -d branch
強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)
git branch -D branch
分支合併和rebase
將branch分支合併到當前分支
git merge branch
不要Fast-Foward合併,這樣可以生成merge提交
git merge origin/master –no-ff
將master rebase到branch
git rebase master branch
Git補丁管理(方便在多臺機器上開發同步時用)
生成補丁
git diff > ../sync.patch
打補丁
git apply ../sync.patch
測試補丁能否成功
git apply –check ../sync.patch
Git暫存管理
暫存
git stash
列出所有stash
git stash list
恢復暫存的內容
git stash apply
刪除暫存區
git stash drop
Git遠程分支管理
抓取遠程倉庫所有分支更新併合併到本地
git pull
抓取遠程倉庫所有分支更新併合併到本地,不要快進合併
git pull –no-ff
抓取遠程倉庫更新
git fetch origin
將遠程主分支合併到本地當前分支
git merge origin/master
跟蹤某個遠程分支創建相應的本地分支
git checkout –track origin/branch
基於遠程分支創建本地分支,功能同上
git checkout -b origin/
推送所有分支
git push
將本地主分支推到遠程主分支
git push origin master
將本地主分支推到遠程(如無遠程主分支則創建,用於初始化遠程倉庫)
git push -u origin master
創建遠程分支, origin是遠程倉庫名
git push origin local_branch
創建遠程分支
git push origin :
先刪除本地分支(git br -d branch),然後再push刪除遠程分支
git push origin :remote_branch
Git遠程倉庫管理
查看遠程服務器地址和倉庫名稱
git remote -v
查看遠程服務器倉庫狀態
git remote show origin
添加遠程倉庫地址
git remote add origin git@ github:robbin/robbin_site.git
設置遠程倉庫地址(用於修改遠程倉庫地址)
git remote set-url origin git@ github.com:robbin/robbin_site.git
刪除遠程倉庫
git remote rm repository
創建遠程倉庫
用帶版本的項目創建純版本倉庫
git clone –bare robbin_site robbin_site.git
將純倉庫上傳到服務器上
scp -r my_project.git git@ git.csdn.net:~
在服務器創建純倉庫
mkdir robbin_site.git && cd robbin_site.git && git –bare init
設置遠程倉庫地址
git remote add origin git@ github.com:robbin/robbin_site.git
客戶端首次提交
git push -u origin master
首次將本地develop分支提交到遠程develop分支,並且track
git push -u origin develop
設置遠程倉庫的HEAD指向master分支
git remote set-head origin master
也可以命令設置跟蹤遠程庫和本地庫
git branch –set-upstream master origin/master
git branch –set-upstream develop origin/develop