一、Git 常用命令整理
命令 簡要說明
git branch 檢視本地所有分支
git status 檢視當前狀態
git commit 提交
git branch -a 檢視所有的分支
git branch -r 檢視遠端所有分支
git commit -am "init" 提交併且加註釋
git remote add origin git地址
git push origin master 將檔案給推到伺服器上
git remote show origin 顯示遠端庫origin裡的資源
git push origin master:master
git push origin master:master 將本地庫與伺服器上的庫進行關聯
git checkout --track origin/dev 切換到遠端dev分支
git checkout -b dev 建立一個新的本地分支dev
git merge origin/dev 將分支dev與當前分支進行合併
git checkout dev 切換到本地dev分支
git remote show 檢視遠端庫
git add .新增至暫存區
git clone git://github.com/schacon/grit.git 從伺服器上將程式碼給拉下來
git config --list 看所有使用者
git ls-files 看已經被提交的
git commit -a 提交當前repos的所有的改變
git add [file name] 新增一個檔案到 git index
git commit -v 當你用-v引數的時候可以看commit的差異
git commit -m "This is the message describing the commit" 新增commit資訊
git commit -a -a是代表add,把所有的change加到git index裡然後再commit
git commit -a -v 一般提交命令
git log 看你commit的日誌
git diff 檢視尚未暫存的更新
git diff --cached 或 $ git diff --staged 檢視尚未提交的更新
git stash push 將檔案給push到一個臨時空間中
git stash pop 將檔案從臨時空間pop下來
---------------------------------------------------------
git remote add origin git@github.***/***.git
git push origin master 將本地專案給提交到伺服器中
-----------------------------------------------------------
git pull 本地與伺服器端同步
-----------------------------------------------------------------
git push (遠端倉庫名) (分支名) 將本地分支推送到伺服器上去。
git push origin master:one
------------------------------------------------------------------
git fetch 相當於是從遠端獲取最新版本到本地,不會自動merge
git commit -a -m "message" (-a是提交所有改動,-m是加入log資訊) 本地修改同步至伺服器端 :
git branch branch_0.1 master 從主分支master建立branch_0.1分支
git branch -m branch_0.1 branch_1.0 將branch0.1重新命名為branch1.0
git checkout branch_1.0/master 切換到branch_1.0/master分支
git push origin **:**branch_remote_name
git branch -r -d branch_remote_name
-----------------------------------------------------------
初始化版本庫,並提交到遠端伺服器端
mkdir git_project
cd git_project
git init 本地初始化
touch README
git add README 新增檔案
git commit -m 'first commit'
git remote add origin URL地址增加一個遠端伺服器端
上面的命令會增加URL地址為 'URL地址',名稱為origin的遠端伺服器庫,以後提交程式碼的時候只需要使用 origin別名即可
_
1、常用的Git命令
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 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 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 cvsservergit的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重用所記錄的衝突解決方案
命令 簡要說明
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 patch-id補丁過濾行號和空白字元後生成補丁唯一ID
git quiltimport將Quilt補丁列表應用到當前分支
git replace提交替換
git shortlog對 git log 的彙總輸出,適合於產品釋出說明
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 程式設計的函式庫