1. 程式人生 > >Git操作命令

Git操作命令

git push 服務 git操作 使用 取消 修改 IT 更新 -a

初始化配置

# 配置使用git倉庫的人員姓名
git config --global user.name "Your Name Comes Here"  
# 配置使用git倉庫的人員email  
git config --global user.email [email protected]  
# 配置到緩存 默認15分鐘  
git config --global credential.helper cache   
# 修改緩存時間  
git config --global credential.helper ‘cache --timeout=3600‘    
# 列舉所有配置  
git config --list 

增刪改查

git help                # 顯示幫助
git add <file>          # 將工作文件修改提交到本地暫存區  
git add .               # 將所有修改過的工作文件提交暫存區  
git rm <file>           # 從版本庫中刪除文件  
git rm <file> --cached  # 從版本庫中刪除文件,但不刪除文件  
git reset <file>        # 從暫存區恢復到工作文件  
git reset -- .          # 從暫存區恢復到工作文件  
git reset --hard        # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改  
git revert <$id>        # 恢復某次提交的狀態,恢復動作本身也創建了一次提交對象  
git revert HEAD         # 恢復最後一次提交的狀態  

查看文件

git diff <file>                 # 比較當前文件和暫存區文件差異  
git diff                        # 默認比較也是同上
git diff <$id1> <$id2>          # 比較兩次提交之間的差異  
git diff <branch1>..<branch2>   # 在兩個分支之間比較  
git diff --staged               # 比較暫存區和版本庫差異  
git diff --cached               # 比較暫存區和版本庫差異  
git diff --stat                 # 僅僅比較統計信息  

查看提交記錄

git log  
git log <file>      # 查看該文件每次提交記錄  
git log -p <file>   # 查看每次詳細修改內容的diff  
git log -p -2       # 查看最近兩次詳細修改內容的diff  
git log --stat      # 查看提交統計信息  
tig                 # Mac上可以使用tig代替diff和log,brew install tig

倉庫管理

# 初始化一個版本倉庫  
git init  
# Clone遠程版本庫  
git clone [email protected]:wordpress.git  
# 添加遠程版本庫origin,語法為 git remote add [shortname] [url]  
git remote add origin [email protected]:wordpress.git  
# 查看遠程倉庫  
git remote -v
# 修改遠程倉庫地址  
git remote set-url origin git@ github.com:robbin/robbin_site.git 
# 刪除遠程倉庫
git remote rm <repository>   

工作流管理

# 添加當前修改的文件到暫存區  
git add .  
# 如果你自動追蹤文件,包括你已經手動刪除的,狀態為Deleted的文件  
git add -u  
# 提交你的修改  
git commit –m "你的註釋"  
# 推送你的更新到遠程服務器,語法為 git push [遠程名] [本地分支]:[遠程分支]  
git push origin master  
# 查看文件狀態  
git status  
# 跟蹤新文件  
git add readme.txt  
# 從當前跟蹤列表移除文件,並完全刪除  
git rm readme.txt  
# 僅在暫存區刪除,保留文件在當前目錄,不再跟蹤  
git rm –cached readme.txt  
# 重命名文件  
git mv reademe.txt readme  
# 查看提交的歷史記錄  
git log  
# 修改最後一次提交註釋的,利用–amend參數  
git commit --amend  
# 已使用git add .,將修改過的文件a、b加到暫存區,現只想提交a,不想提交b
git reset HEAD b  
# 取消對文件的修改  
git checkout –- readme.txt

------------------------------擴展一下------------------------------

# 暫存
git stash 
# 列所有stash  
git stash list  
# 恢復暫存的內容  
git stash apply
# 刪除暫存區 
git stash drop                   

分支管理

git br -r               # 查看遠程分支  
git br <n_br>           # 創建新的分支  
git br -v               # 查看各個分支最後提交信息  
git merge <br>          # 將br分支合並到當前分支  
git br --merged         # 查看已經被合並到當前分支的分支  
git br --no-merged      # 查看尚未被合並到當前分支的分支  
git co <br>             # 切換到某個分支  
git co -b <n_br>        # 創建新的分支,並且切換過去  
git co -b <n_br> <brh>  # 基於br創建新的n_br
git co $id              # 把某次歷史提交記錄co出來,無分支信息,切換分支會自動刪除
git co $id -b <n_br>    # 把某次歷史提交記錄co出來,創建成一個分支  
git br -d <br>          # 刪除某個分支  
git br -D <br>          # 強制刪除某個分支 (未被合並的分支被刪除的時候需要強制)  

------------------------------遠程分支------------------------------

git pull                  # 拉取遠程倉庫所有分支更新並合並到本地  
git pull --no-ff          # 拉取遠程倉庫所有分支更新並合並到本地,不快進合並 
git fetch or              # 拉取遠程倉庫更新  
git merge or/master       # 將遠程主分支合並到本地當前分支  
git co --track or/br      # 跟蹤某個遠程分支創建相應的本地分支  
git push                  # push所有分支  
git push or master        # 將本地主分支推到遠程主分支  
git push -u or master     # 同上(如無遠程主分支則創建,用於初始化遠程倉庫)  
git push origin <lo_br>   # 創建遠程分支, origin是遠程倉庫名  
git push origin :<re_br>  # 先刪除本地分支(git br -d <br>),後再push刪除遠程分支  

補丁管理

git diff > ../sync.patch         # 生成補丁  
git apply ../sync.patch          # 打補丁  
git apply --check ../sync.patch  # 測試補丁能否成功  
# 方便在多臺機器上開發同步時用

Git操作命令