1. 程式人生 > >Git 常用命令速查表

Git 常用命令速查表

rtl stage 協議 發布 orm parse 不同 交互 row

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

提交揀選

gitcitool

圖形化提交,相當於gitgui 命令

git clean

清除工作區未跟蹤文件

git clone

克隆版本庫

git commit

提交

gitconfig

查詢和修改配置

git describe

通過裏程碑直觀地顯示提交ID

git diff

差異比較

gitdifftool

調用圖形化差異比較工具

git fetch

獲取遠程版本庫的提交

git format-patch

創建郵件格式的補丁文件。參見git am 命令

gitgrep

文件內容搜索定位工具

gitgui

基於Tcl/Tk的圖形化工具,側重提交等操作

git help

幫助

gitinit

版本庫初始化

gitinit-db*

同義詞,等同於gitinit

git log

顯示提交日誌

git merge

分支合並

gitmergetool

圖形化沖突解決

git mv

重命名

git pull

拉回遠程版本庫的提交

git push

推送至遠程版本庫

git rebase

分支變基

git rebase–interactive

交互式分支變基

gitreflog

分支等引用變更記錄管理

git remote

遠程版本庫管理

git repo-config*

同義詞,等同於gitconfig

git reset

重置改變分支“遊標”指向

git rev-parse

將各種引用表示法轉換為哈希值等

git revert

反轉提交

gitrm

刪除文件

git show

顯示各種類型的對象

git stage*

同義詞,等同於git add

git stash

保存和恢復進度

git status

顯示工作區文件狀態

git tag

裏程碑管理


2、對象庫操作相關命令

命令

簡要說明

git commit-tree

從樹對象創建提交

git hash-object

從標準輸入或文件計算哈希值或創建對象

gitls-files

顯示工作區和暫存區文件

gitls-tree

顯示樹對象包含的文件

gitmktag

讀取標準輸入創建一個裏程碑對象

gitmktree

讀取標準輸入創建一個樹對象

git read-tree

讀取樹對象到暫存區

git update-index

工作區內容註冊到暫存區及暫存區管理

git unpack-file

創建臨時文件包含指定 blob 的內容

git write-tree

從暫存區創建一個樹對象


3、引用操作相關命令

命令

簡要說明

git check-ref-format

檢查引用名稱是否符合規範

git for-each-ref

引用叠代器,用於shell編程

gitls-remote

顯示遠程版本庫的引用

git name-rev

將提交ID顯示為友好名稱

git peek-remote*

過時命令,請使用gitls-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

版本庫重構

gitfsck

對象庫完整性檢查

gitfsck-objects*

同義詞,等同於gitfsck

gitgc

版本庫存儲優化

git index-pack

從打包文件創建對應的索引文件

git lost-found*

過時,請使用gitfsck –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、郵件相關命令

命令

簡要說明

gitimap-send

將補丁通過 IMAP 發送

gitmailinfo

從郵件導出提交說明和補丁

gitmailsplit

mbox Maildir格式郵箱中郵件逐一提取為文件

git request-pull

創建包含提交間差異和執行PULL操作地址的信息

git send-email

發送郵件


7、協議相關命令

命令

簡要說明

git daemon

實現Git協議

git http-backend

實現HTTP協議的CGI程序,支持智能HTTP協議

gitinstaweb

即時啟動瀏覽器通過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、版本庫轉換和交互相關命令

命令

簡要說明

gitarchimport

導入Arch版本庫到Git

git bundle

提交打包和解包,以便在不同版本庫間傳遞

git cv***portcommit

Git的一個提交作為一個CVS檢出

gitcvsimport

導入CVS版本庫到Git。或者使用 cvs2git

gitcvsserver

GitCVS協議模擬器,可供CVS命令訪問Git版本庫

git fast-export

將提交導出為git-fast-import 格式

git fast-import

其他版本庫遷移至Git的通用工具

gitsvn

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

顯式三向合並結果,不改變暫存區

gitfmt-merge-msg

供執行合並操作的腳本調用,用於創建一個合並提交說明

gitrerere

重用所記錄的沖突解決方案


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

gitdifftool–helper

gitdifftool 命令調用,默認要使用的差異比較工具

git get-tar-commit-id

git archive 創建的 tar 包中提取提交ID

gitgui–askpass

命令gitgui 的獲取用戶口令輸入界面

git notes

提交評論管理

git patch-id

補丁過濾行號和空白字符後生成補丁唯一ID

gitquiltimport

Quilt補丁列表應用到當前分支

git replace

提交替換

gitshortlog

git log 的匯總輸出,適合於產品發布說明

gitstripspace

刪除空行,供其他腳本調用

gitsubmodule

子模組管理

git tar-tree

過時命令,請使用git archive

gitvar

顯示Git 環境變量

git web–browse

啟動瀏覽器以查看目錄或文件

gitwhatchanged

顯示提交歷史及每次提交的改動

git-mergetool–lib

包含於其他腳本中,提供合並/差異比較工具的選擇和執行

git-parse-remote

包含於其他腳本中,提供操作遠程版本庫的函數

git-sh-setup

包含於其他腳本中,提供 shell 編程的函數庫


Git 常用命令速查表