Git常用命令整理
- 2019 年 10 月 9 日
- 筆記
一、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 branch -D master develop
刪除本地庫develop
git checkout -b dev
建立一個新的本地分支dev
git merge origin/dev
將分支dev與當前分支進行合併
git checkout dev
切換到本地dev分支
git remote show
查看遠程庫
git add .
添加至暫存區
git rm 文件名(包括路徑) 從
git中刪除指定文件
git clone git://github.com/schacon/grit.git
從伺服器上將程式碼給拉下來
git config --list
看所有用戶
git ls-files
看已經被提交的
git rm [file name]
刪除一個文件
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 rm a.a
移除文件(從暫存區和工作區中刪除)
git rm --cached a.a
移除文件(只從暫存區中刪除)
git commit -m "remove"
移除文件(從git中刪除)
git rm -f a.a
強行移除修改後文件(從暫存區和工作區中刪除)
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
將branch_0.1重命名為branch_1.0
git checkout branch_1.0/master
切換到branch_1.0/master分支
git branch
刪除遠程branch
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 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 repac
k將版本庫未打包的鬆散對象打包
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-test
git協議擴展示例腳本
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
重用所記錄的衝突解決方案
命令 簡要說明
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 編程的函數庫