Git 命令整理

1、常用的Git命令

命令 簡要說明
git add 添加至暫存區
git add–interactive 交互式添加
git apply 應用補丁
git am 應用郵件格式補丁
git annotate 同義詞,等同於 git blame
git archive 文件歸檔打包
git bisect 二分查找
git blame 文件逐行追溯
git branch 分支管理
git cat-file 版本庫對象研究工具
git checkout 檢出到工作區、切換或創建分支
git cherry-pick 提交揀選
git citool 圖形化提交,相當於 git gui 命令
git clean 清除工作區未跟蹤文件
git clone 克隆版本庫
git commit 提交
git config 查詢和修改配置
git describe 通過里程碑直觀地顯示提交ID
git diff 差異比較
git difftool 調用圖形化差異比較工具
git fetch 獲取遠程版本庫的提交
git format-patch 創建郵件格式的補丁文件。參見 git am 命令
git grep 文件內容搜索定位工具
git gui 基於Tcl/Tk的圖形化工具,側重提交等操作
git help 幫助
git init 版本庫初始化
git init-db* 同義詞,等同於 git init
git log 顯示提交日誌
git merge 分支合併
git mergetool 圖形化衝突解決
git mv 重命名
git pull 拉回遠程版本庫的提交
git push 推送至遠程版本庫
git reBase 分支變基
git rebase–interactive 交互式分支變基
git reflog 分支等引用變更記錄管理
git remote 遠程版本庫管理
git repo-config* 同義詞,等同於 git config
git reset 重置改變分支“遊標”指向
git rev-parse 將各種引用表示法轉換爲哈希值等
git revert 反轉提交
git rm 刪除文件
git show 顯示各種類型的對象
git stage* 同義詞,等同於 git add
git stash 保存和恢復進度
git status 顯示工作區文件狀態
git tag 里程碑管理

 

2、對象庫操作相關命令

命令 簡要說明
git commit-tree 從樹對象創建提交
git hash-object 從標準輸入或文件計算哈希值或創建對象
git ls-files 顯示工作區和暫存區文件
git ls-tree 顯示樹對象包含的文件
git mktag 讀取標準輸入創建一個里程碑對象
git mktree 讀取標準輸入創建一個樹對象
git read-tree 讀取樹對象到暫存區
git update-index 工作區內容註冊到暫存區及暫存區管理
git unpack-file 創建臨時文件包含指定 blob 的內容
git write-tree 從暫存區創建一個樹對象

 

3、引用操作相關命令

命令 簡要說明
git check-ref-format 檢查引用名稱是否符合規範
git for-each-ref 引用迭代器,用於shell編程
git ls-remote 顯示遠程版本庫的引用
git name-rev 將提交ID顯示爲友好名稱
git peek-remote* 過時命令,請使用 git ls-remote
git rev-list 顯示版本範圍
git show-branch 顯示分支列表及拓撲關係
git show-ref 顯示本地引用
git symbolic-ref 顯示或者設置符號引用
git update-ref 更新引用的指向
git verify-tag 校驗 GPG 簽名的Tag

 

4、版本庫管理相關命令

命令 簡要說明
git count-objects 顯示鬆散對象的數量和磁盤佔用
git filter-branch 版本庫重構
git fsck 對象庫完整性檢查
git fsck-objects* 同義詞,等同於 git fsck
git gc 版本庫存儲優化
git index-pack 從打包文件創建對應的索引文件
git lost-found* 過時,請使用 git fsck –lost-found 命令
git pack-objects 從標準輸入讀入對象ID,打包到文件
git pack-redundant 查找多餘的 pack 文件
git pack-refs 將引用打包到 .git/packed-refs 文件中
git prune 從對象庫刪除過期對象
git prune-packed 將已經打包的鬆散對象刪除
git relink 爲本地版本庫中相同的對象建立硬連接
git repack 將版本庫未打包的鬆散對象打包
git show-index 讀取包的索引文件,顯示打包文件中的內容
git unpack-objects 從打包文件釋放文件
git verify-pack 校驗對象庫打包文件

 

5、數據傳輸相關命令

命令 簡要說明
git fetch-pack 執行 git fetch 或 git pull 命令時在本地執行此命令,用於從其他版本庫獲取缺失的對象
git receive-pack 執行 git push 命令時在遠程執行的命令,用於接受推送的數據
git send-pack 執行 git push 命令時在本地執行的命令,用於向其他版本庫推送數據
git upload-archive 執行 git archive –remote 命令基於遠程版本庫創建歸檔時,遠程版本庫執行此命令傳送歸檔
git upload-pack 執行 git fetch 或 git pull 命令時在遠程執行此命令,將對象打包、上傳

 

6、郵件相關命令

命令 簡要說明
git imap-send 將補丁通過 IMAP 發送
git mailinfo 從郵件導出提交說明和補丁
git mailsplit 將 mbox 或 Maildir 格式郵箱中郵件逐一提取爲文件
git request-pull 創建包含提交間差異和執行PULL操作地址的信息
git send-email 發送郵件

 

7、協議相關命令

命令 簡要說明
git daemon 實現Git協議
git http-backend 實現HTTP協議的CGI程序,支持智能HTTP協議
git instaweb 即時啓動瀏覽器通過 gitweb 瀏覽當前版本庫
git shell 受限制的shell,提供僅執行Git命令的SSH訪問
git update-server-info 更新啞協議需要的輔助文件
git http-fetch 通過HTTP協議獲取版本庫
git http-push 通過HTTP/DAV協議推送
git remote-ext 由Git命令調用,通過外部命令提供擴展協議支持
git remote-fd 由Git命令調用,使用文件描述符作爲協議接口
git remote-ftp 由Git命令調用,提供對FTP協議的支持
git remote-ftps 由Git命令調用,提供對FTPS協議的支持
git remote-http 由Git命令調用,提供對HTTP協議的支持
git remote-https 由Git命令調用,提供對HTTPS協議的支持
git remote-testgit 協議擴展示例腳本

 

8、版本庫轉換和交互相關命令

命令 簡要說明
git archimport 導入Arch版本庫到Git
git bundle 提交打包和解包,以便在不同版本庫間傳遞
git cvsexportcommit 將Git的一個提交作爲一個CVS檢出
git cvsimport 導入CVS版本庫到Git。或者使用 cvs2git
git cvsserver Git的CVS協議模擬器,可供CVS命令訪問Git版本庫
git fast-export 將提交導出爲 git-fast-import 格式
git fast-import 其他版本庫遷移至Git的通用工具
git svn Git 作爲前端操作 Subversion

 

9、合併相關的輔助命令

命令 簡要說明
git merge-base 供其他腳本調用,找到兩個或多個提交最近的共同祖先
git merge-file 針對文件的兩個不同版本執行三向文件合併
git merge-index 對index中的衝突文件調用指定的衝突解決工具
git merge-octopus 合併兩個以上分支。參見 git merge 的octopus合併策略
git merge-one-file 由 git merge-index 調用的標準輔助程序
git merge-ours 合併使用本地版本,拋棄他人版本。參見 git merge 的ours合併策略
git merge-recursive 針對兩個分支的三向合併。參見 git merge 的recursive合併策略
git merge-resolve 針對兩個分支的三向合併。參見 git merge 的resolve合併策略
git merge-subtree 子樹合併。參見 git merge 的 subtree 合併策略
git merge-tree 顯式三向合併結果,不改變暫存區
git fmt-merge-msg 供執行合併操作的腳本調用,用於創建一個合併提交說明
git rerere 重用所記錄的衝突解決方案

 

10、 雜項

命令 簡要說明
git bisect–helper 由 git bisect 命令調用,確認二分查找進度
git check-attr 顯示某個文件是否設置了某個屬性
git checkout-index 從暫存區拷貝文件至工作區
git cherry 查找沒有合併到上游的提交
git diff-files 比較暫存區和工作區,相當於 git diff –raw
git diff-index 比較暫存區和版本庫,相當於 git diff –cached –raw
git diff-tree 比較兩個樹對象,相當於 git diff –raw A B
git difftool–helper 由 git difftool 命令調用,默認要使用的差異比較工具
git get-tar-commit-id 從 git archive 創建的 tar 包中提取提交ID
git gui–askpass 命令 git gui 的獲取用戶口令輸入界面
git notes 提交評論管理
git patch-id 補丁過濾行號和空白字符後生成補丁唯一ID
git quiltimport 將Quilt補丁列表應用到當前分支
git replace 提交替換
git shortlog 對 git log 的彙總輸出,適合於產品發佈說明
git stripspace 刪除空行,供其他腳本調用
git submodule 子模組管理
git tar-tree 過時命令,請使用 git archive
git var 顯示 Git 環境變量
git web–browse 啓動瀏覽器以查看目錄或文件
git whatchanged 顯示提交歷史及每次提交的改動
git-mergetool–lib 包含於其他腳本中,提供合併/差異比較工具的選擇和執行
git-parse-remote 包含於其他腳本中,提供操作遠程版本庫的函數
git-sh-setup 包含於其他腳本中,提供 shell 編程的函數庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章