Git 常用命令大全

一、 Git 常用命令速查
git branch 查看本地所有分支
git status 查看當(dāng)前狀態(tài)
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看遠(yuǎn)程所有分支
git commit -am "init" 提交并且加注釋
git remote add origin git@192.168.1.119:ndshow
git push origin master 將文件給推到服務(wù)器上
git remote show origin 顯示遠(yuǎn)程庫(kù)origin里的資源
git push origin master:develop
git push origin master:hb-dev 將本地庫(kù)與服務(wù)器上的庫(kù)進(jìn)行關(guān)聯(lián)
git checkout --track origin/dev 切換到遠(yuǎn)程dev分支
git branch -D master develop 刪除本地庫(kù)develop
git checkout -b dev 建立一個(gè)新的本地分支dev
git merge origin/dev 將分支dev與當(dāng)前分支進(jìn)行合并
git checkout dev 切換到本地dev分支
git remote show 查看遠(yuǎn)程庫(kù)
git add .
git rm 文件名(包括路徑) 從git中刪除指定文件
git clone git://github.com/schacon/grit.git 從服務(wù)器上將代碼給拉下來
git config --list 看所有用戶
git ls-files 看已經(jīng)被提交的
git rm [file name] 刪除一個(gè)文件
git commit -a 提交當(dāng)前repos的所有的改變
git add [file name] 添加一個(gè)文件到git index
git commit -v 當(dāng)你用-v參數(shù)的時(shí)候可以看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 移除文件(從暫存區(qū)和工作區(qū)中刪除)
git rm --cached a.a 移除文件(只從暫存區(qū)中刪除)
git commit -m "remove" 移除文件(從Git中刪除)
git rm -f a.a 強(qiáng)行移除修改后文件(從暫存區(qū)和工作區(qū)中刪除)
git diff --cached 或 $ git diff --staged 查看尚未提交的更新
git stash push 將文件給push到一個(gè)臨時(shí)空間中
git stash pop 將文件從臨時(shí)空間pop下來


git remote add origin git@github.com:username/Hello-World.git
git push origin master 將本地項(xiàng)目給提交到服務(wù)器中


git pull 本地與服務(wù)器端同步

git push (遠(yuǎn)程倉(cāng)庫(kù)名) (分支名) 將本地分支推送到服務(wù)器上去。
git push origin serverfix:awesomebranch


git fetch 相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng)merge
git commit -a -m "log_message" (-a是提交所有改動(dòng),-m是加入log信息) 本地修改同步至服務(wù)器端 :
git branch branch_0.1 master 從主分支master創(chuàng)建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分支
du -hs
git branch 刪除遠(yuǎn)程branch
git push origin :branch_remote_name
git branch -r -d branch_remote_name


初始化版本庫(kù),并提交到遠(yuǎn)程服務(wù)器端
mkdir WebApp
cd WebApp
git init 本地初始化
touch README
git add README 添加文件
git commit -m 'first commit'
git remote add origin git@github.com:daixu/WebApp.git
增加一個(gè)遠(yuǎn)程服務(wù)器端
上面的命令會(huì)增加URL地址為'git@github.com:daixu/WebApp.git',名稱為origin的遠(yuǎn)程服務(wù)器庫(kù),以后提交代碼的時(shí)候只需要使用 origin別名即可

二、 Git 命令速查表

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

2、對(duì)象庫(kù)操作相關(guān)命令
命令和簡(jiǎn)要說明
git commit-tree
從樹對(duì)象創(chuàng)建提交
git hash-object
從標(biāo)準(zhǔn)輸入或文件計(jì)算哈希值或創(chuàng)建對(duì)象
git ls-files
顯示工作區(qū)和暫存區(qū)文件
git ls-tree
顯示樹對(duì)象包含的文件
git mktag
讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個(gè)里程碑對(duì)象
git mktree
讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個(gè)樹對(duì)象
git read-tree
讀取樹對(duì)象到暫存區(qū)
git update-index
工作區(qū)內(nèi)容注冊(cè)到暫存區(qū)及暫存區(qū)管理
git unpack-file
創(chuàng)建臨時(shí)文件包含指定 blob 的內(nèi)容
git write-tree
從暫存區(qū)創(chuàng)建一個(gè)樹對(duì)象

3、引用操作相關(guān)命令
命令和簡(jiǎn)要說明
git check-ref-format
檢查引用名稱是否符合規(guī)范
git for-each-ref
引用迭代器,用于shell編程
git ls-remote
顯示遠(yuǎn)程版本庫(kù)的引用
git name-rev
將提交ID顯示為友好名稱
git peek-remote*
過時(shí)命令,請(qǐng)使用 git ls-remote
git rev-list
顯示版本范圍
git show-branch
顯示分支列表及拓?fù)潢P(guān)系
git show-ref
顯示本地引用
git symbolic-ref
顯示或者設(shè)置符號(hào)引用
git update-ref
更新引用的指向
git verify-tag
校驗(yàn) GPG 簽名的Tag

4、版本庫(kù)管理相關(guān)命令
命令和簡(jiǎn)要說明
git count-objects
顯示松散對(duì)象的數(shù)量和磁盤占用
git filter-branch
版本庫(kù)重構(gòu)
git fsck
對(duì)象庫(kù)完整性檢查
git fsck-objects*
同義詞,等同于 git fsck
git gc
版本庫(kù)存儲(chǔ)優(yōu)化
git index-pack
從打包文件創(chuàng)建對(duì)應(yīng)的索引文件
git lost-found*
過時(shí),請(qǐng)使用 git fsck –lost-found 命令
git pack-objects
從標(biāo)準(zhǔn)輸入讀入對(duì)象ID,打包到文件
git pack-redundant
查找多余的 pack 文件
git pack-refs
將引用打包到 .git/packed-refs 文件中
git prune
從對(duì)象庫(kù)刪除過期對(duì)象
git prune-packed
將已經(jīng)打包的松散對(duì)象刪除
git relink
為本地版本庫(kù)中相同的對(duì)象建立硬連接
git repack
將版本庫(kù)未打包的松散對(duì)象打包
git show-index
讀取包的索引文件,顯示打包文件中的內(nèi)容
git unpack-objects
從打包文件釋放文件
git verify-pack
校驗(yàn)對(duì)象庫(kù)打包文件

5、數(shù)據(jù)傳輸相關(guān)命令
命令和簡(jiǎn)要說明
git fetch-pack
執(zhí)行 git fetch 或 git pull 命令時(shí)在本地執(zhí)行此命令,用于從其他版本庫(kù)獲取缺失的對(duì)象
git receive-pack
執(zhí)行 git push 命令時(shí)在遠(yuǎn)程執(zhí)行的命令,用于接受推送的數(shù)據(jù)
git send-pack
執(zhí)行 git push 命令時(shí)在本地執(zhí)行的命令,用于向其他版本庫(kù)推送數(shù)據(jù)
git upload-archive
執(zhí)行 git archive –remote 命令基于遠(yuǎn)程版本庫(kù)創(chuàng)建歸檔時(shí),遠(yuǎn)程版本庫(kù)執(zhí)行此命令傳送歸檔
git upload-pack
執(zhí)行 git fetch 或 git pull 命令時(shí)在遠(yuǎn)程執(zhí)行此命令,將對(duì)象打包、上傳

6、郵件相關(guān)命令
命令和簡(jiǎn)要說明
git imap-send
將補(bǔ)丁通過 IMAP 發(fā)送
git mailinfo
從郵件導(dǎo)出提交說明和補(bǔ)丁
git mailsplit
將 mbox 或 Maildir 格式郵箱中郵件逐一提取為文件
git request-pull
創(chuàng)建包含提交間差異和執(zhí)行PULL操作地址的信息
git send-email
發(fā)送郵件

7、協(xié)議相關(guān)命令
命令和簡(jiǎn)要說明明
git daemon
實(shí)現(xiàn)Git協(xié)議
git http-backend
實(shí)現(xiàn)HTTP協(xié)議的CGI程序,支持智能HTTP協(xié)議
git instaweb
即時(shí)啟動(dòng)瀏覽器通過 gitweb 瀏覽當(dāng)前版本庫(kù)
git shell
受限制的shell,提供僅執(zhí)行Git命令的SSH訪問
git update-server-info
更新啞協(xié)議需要的輔助文件
git http-fetch
通過HTTP協(xié)議獲取版本庫(kù)
git http-push
通過HTTP/DAV協(xié)議推送
git remote-ext
由Git命令調(diào)用,通過外部命令提供擴(kuò)展協(xié)議支持
git remote-fd
由Git命令調(diào)用,使用文件描述符作為協(xié)議接口
git remote-ftp
由Git命令調(diào)用,提供對(duì)FTP協(xié)議的支持
git remote-ftps
由Git命令調(diào)用,提供對(duì)FTPS協(xié)議的支持
git remote-http
由Git命令調(diào)用,提供對(duì)HTTP協(xié)議的支持
git remote-https
由Git命令調(diào)用,提供對(duì)HTTPS協(xié)議的支持
git remote-testgit
協(xié)議擴(kuò)展示例腳本

8、版本庫(kù)轉(zhuǎn)換和交互相關(guān)命令
命令和簡(jiǎn)要說明
git archimport
導(dǎo)入Arch版本庫(kù)到Git
git bundle
提交打包和解包,以便在不同版本庫(kù)間傳遞
git cvsexportcommit
將Git的一個(gè)提交作為一個(gè)CVS檢出
git cvsimport
導(dǎo)入CVS版本庫(kù)到Git?;蛘呤褂?cvs2git
git cvsserver
Git的CVS協(xié)議模擬器,可供CVS命令訪問Git版本庫(kù)
git fast-export
將提交導(dǎo)出為 git-fast-import 格式
git fast-import
其他版本庫(kù)遷移至Git的通用工具
git svn
Git 作為前端操作 Subversion

9、合并相關(guān)的輔助命令
命令和簡(jiǎn)要說明
git merge-base
供其他腳本調(diào)用,找到兩個(gè)或多個(gè)提交最近的共同祖先
git merge-file
針對(duì)文件的兩個(gè)不同版本執(zhí)行三向文件合并
git merge-index
對(duì)index中的沖突文件調(diào)用指定的沖突解決工具
git merge-octopus
合并兩個(gè)以上分支。參見 git merge 的octopus合并策略
git merge-one-file
由 git merge-index 調(diào)用的標(biāo)準(zhǔn)輔助程序
git merge-ours
合并使用本地版本,拋棄他人版本。參見 git merge 的ours合并策略
git merge-recursive
針對(duì)兩個(gè)分支的三向合并。參見 git merge 的recursive合并策略
git merge-resolve
針對(duì)兩個(gè)分支的三向合并。參見 git merge 的resolve合并策略
git merge-subtree
子樹合并。參見 git merge 的 subtree 合并策略
git merge-tree
顯式三向合并結(jié)果,不改變暫存區(qū)
git fmt-merge-msg
供執(zhí)行合并操作的腳本調(diào)用,用于創(chuàng)建一個(gè)合并提交說明
git rerere
重用所記錄的沖突解決方案

10、 雜項(xiàng)
命令和簡(jiǎn)要說明
git bisect–helper
由 git bisect 命令調(diào)用,確認(rèn)二分查找進(jìn)度
git check-attr
顯示某個(gè)文件是否設(shè)置了某個(gè)屬性
git checkout-index
從暫存區(qū)拷貝文件至工作區(qū)
git cherry
查找沒有合并到上游的提交
git diff-files
比較暫存區(qū)和工作區(qū),相當(dāng)于 git diff –raw
git diff-index
比較暫存區(qū)和版本庫(kù),相當(dāng)于 git diff –cached –raw
git diff-tree
比較兩個(gè)樹對(duì)象,相當(dāng)于 git diff –raw A B
git difftool–helper
由 git difftool 命令調(diào)用,默認(rèn)要使用的差異比較工具
git get-tar-commit-id
從 git archive 創(chuàng)建的 tar 包中提取提交ID
git gui–askpass
命令 git gui 的獲取用戶口令輸入界面
git notes
提交評(píng)論管理
git patch-id
補(bǔ)丁過濾行號(hào)和空白字符后生成補(bǔ)丁唯一ID
git quiltimport
將Quilt補(bǔ)丁列表應(yīng)用到當(dāng)前分支
git replace
提交替換
git shortlog
對(duì) git log 的匯總輸出,適合于產(chǎn)品發(fā)布說明
git stripspace
刪除空行,供其他腳本調(diào)用
git submodule
子模組管理
git tar-tree
過時(shí)命令,請(qǐng)使用 git archive
git var
顯示 Git 環(huán)境變量
git web–browse
啟動(dòng)瀏覽器以查看目錄或文件
git whatchanged
顯示提交歷史及每次提交的改動(dòng)
git-mergetool–lib
包含于其他腳本中,提供合并/差異比較工具的選擇和執(zhí)行
git-parse-remote
包含于其他腳本中,提供操作遠(yuǎn)程版本庫(kù)的函數(shù)
git-sh-setup
包含于其他腳本中,提供 shell 編程的函數(shù)庫(kù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git commit 提交 git b...
    猿萬閱讀 5,390評(píng)論 1 45
  • 分布式版本管理工具 git屬于分布式 svn集中式 git安裝 git初始化一個(gè)倉(cāng)庫(kù) 其實(shí)就是創(chuàng)建了一個(gè).git隱...
    SnowDragonYY閱讀 1,588評(píng)論 0 0
  • 1,查看所有遠(yuǎn)程分支:%git branch -r 2, 拉取遠(yuǎn)程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,195評(píng)論 0 18
  • Git是一個(gè)很強(qiáng)大的分布式版本控制系統(tǒng)。它不但適用于管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優(yōu)勢(shì)。...
    小叮當(dāng)愛學(xué)習(xí)閱讀 561評(píng)論 0 4
  • 學(xué)習(xí)的方式有很多種,有與人為師,有向牛人請(qǐng)教,有從書本學(xué)習(xí),有向?qū)熉犝n,也有從失敗中學(xué)習(xí)。 古典說到要聯(lián)機(jī)學(xué)習(xí),...
    風(fēng)之吻Sam閱讀 572評(píng)論 0 8

友情鏈接更多精彩內(nèi)容