介紹Git 常用命令大全

2021-04-14 19:01:33

一、 Git 常用命令速查

git branch 檢視本地所有分支
git status 檢視當前狀態
git commit 提交
git branch -a 檢視所有的分支
git branch -r 檢視遠端所有分支
git commit -am "init" 提交併且加註釋
git remote add origin [email protected]:ndshow
git push origin master 將檔案給推到伺服器上
git remote show origin 顯示遠端庫origin裡的資源
git push origin master:develop
git push origin master:hb-dev 將本地庫與伺服器上的庫進行關聯
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 [email protected]:username/Hello-World.git
git push origin master 將本地專案給提交到伺服器中
-----------------------------------------------------------
git pull 本地與伺服器端同步
-----------------------------------------------------------------
git push (遠端倉庫名) (分支名) 將本地分支推播到伺服器上去。
git push origin serverfix:awesomebranch
------------------------------------------------------------------
git fetch 相當於是從遠端獲取最新版本到本地,不會自動merge
git commit -a -m "log_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分支
du -hs

git branch 刪除遠端branch
git push origin :branch_remote_name
git branch -r -d branch_remote_name
-----------------------------------------------------------

初始化版本庫,並提交到遠端伺服器端
mkdir WebApp
cd WebApp
git init 本地初始化
touch README
git add README 新增檔案
git commit -m 'first commit'
git remote add origin [email protected]:daixu/WebApp.git

增加一個遠端伺服器端

上面的命令會增加URL地址為'[email protected]:daixu/WebApp.git',名稱為origin的遠端伺服器庫,以後提交程式碼的時候只需要使用 origin別名即可

推薦(免費):

二、 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 程式設計的函數庫


下面指令碼之家小編特為大家分享一個圖片版的

Git 常用命令速查表。點選檢視大圖。

Git命令參考手冊(文字版)

git init # 初始化本地git倉庫(建立新倉庫)
git config --global user.name "xxx" # 設定使用者名稱
git config --global user.email "[email protected]" # 設定郵件
git config --global color.ui true # git status等命令自動著色
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
git clone git+ssh://[email protected]/VT.git # clone遠端倉庫
git status # 檢視當前版本狀態(是否修改)
git add xyz # 新增xyz檔案至index
git add . # 增加當前子目錄下所有更改過的檔案至index
git commit -m 'xxx' # 提交
git commit --amend -m 'xxx' # 合併上一次提交(用於反覆修改)
git commit -am 'xxx' # 將add和commit合為一步
git rm xxx # 刪除index中的檔案
git rm -r * # 遞迴刪除
git log # 顯示提交紀錄檔
git log -1 # 顯示1行紀錄檔 -n為n行
git log -5
git log --stat # 顯示提交紀錄檔及相關變動檔案
git log -p -m
git show dfb02e6e4f2f7b573337763e5c0013802e392818 # 顯示某個提交的詳細內容
git show dfb02 # 可只用commitid的前幾位
git show HEAD # 顯示HEAD提交紀錄檔
git show HEAD^ # 顯示HEAD的父(上一個版本)的提交紀錄檔 ^^為上兩個版本 ^5為上5個版本
git tag # 顯示已存在的tag
git tag -a v2.0 -m 'xxx' # 增加v2.0的tag
git show v2.0 # 顯示v2.0的紀錄檔及詳細內容
git log v2.0 # 顯示v2.0的紀錄檔
git diff # 顯示所有未新增至index的變更
git diff --cached # 顯示所有已新增index但還未commit的變更
git diff HEAD^ # 比較與上一個版本的差異
git diff HEAD -- ./lib # 比較與HEAD版本lib目錄的差異
git diff origin/master..master # 比較遠端分支master上有本地分支master上沒有的
git diff origin/master..master --stat # 只顯示差異的檔案,不顯示具體內容
git remote add origin git+ssh://[email protected]/VT.git # 增加遠端定義(用於push/pull/fetch)
git branch # 顯示本地分支
git branch --contains 50089 # 顯示包含提交50089的分支
git branch -a # 顯示所有分支
git branch -r # 顯示所有原創分支
git branch --merged # 顯示所有已合併到當前分支的分支
git branch --no-merged # 顯示所有未合併到當前分支的分支
git branch -m master master_copy # 本地分支改名
git checkout -b master_copy # 從當前分支建立新分支master_copy並檢出
git checkout -b master master_copy # 上面的完整版
git checkout features/performance # 檢出已存在的features/performance分支
git checkout --track hotfixes/BJVEP933 # 檢出遠端分支hotfixes/BJVEP933並建立本地跟蹤分支
git checkout v2.0 # 檢出版本v2.0
git checkout -b devel origin/develop # 從遠端分支develop建立新本地分支devel並檢出
git checkout -- README # 檢出head版本的README檔案(可用於修改錯誤回退)
git merge origin/master # 合併遠端master分支至當前分支
git cherry-pick ff44785404a8e # 合併提交ff44785404a8e的修改
git push origin master # 將當前分支push到遠端master分支
git push origin :hotfixes/BJVEP933 # 刪除遠端倉庫的hotfixes/BJVEP933分支
git push --tags # 把所有tag推播到遠端倉庫
git fetch # 獲取所有遠端分支(不更新本地分支,另需merge)
git fetch --prune # 獲取所有原創分支並清除伺服器上已刪掉的分支
git pull origin master # 獲取遠端分支master並merge到當前分支
git mv README README2 # 重新命名檔案README為README2
git reset --hard HEAD # 將當前版本重置為HEAD(通常用於merge失敗回退)
git rebase
git branch -d hotfixes/BJVEP933 # 刪除分支hotfixes/BJVEP933(本分支修改已合併到其他分支)
git branch -D hotfixes/BJVEP933 # 強制刪除分支hotfixes/BJVEP933
git ls-files # 列出git index包含的檔案
git show-branch # 圖示當前分支歷史
git show-branch --all # 圖示所有分支歷史
git whatchanged # 顯示提交歷史對應的檔案修改
git revert dfb02e6e4f2f7b573337763e5c0013802e392818 # 復原提交dfb02e6e4f2f7b573337763e5c0013802e392818
git ls-tree HEAD # 內部命令:顯示某個git物件
git rev-parse v2.0 # 內部命令:顯示某個ref對於的SHA1 HASH
git reflog # 顯示所有提交,包括孤立節點
git show HEAD@{5}
git show master@{yesterday} # 顯示master分支昨天的狀態
git log --pretty=format:'%h %s' --graph # 圖示提交紀錄檔
git show HEAD~3
git show -s --pretty=raw 2be7fcb476
git stash # 暫存當前修改,將所有至為HEAD狀態
git stash list # 檢視所有暫存
git stash show -p stash@{0} # 參考第一次暫存
git stash apply stash@{0} # 應用第一次暫存
git grep "delete from" # 檔案中搜尋文字「delete from」
git grep -e '#define' --and -e SORT_DIRENT
git gc
git fsck



Git 是一個很強大的分散式版本控制系統。它不但適用於管理大型開源軟體的原始碼,管理私人的檔案和原始碼也有很多優勢。


Git常用操作命令:

1) 遠端倉庫相關命令

檢出倉庫:$ git clone git://github.com/jquery/jquery.git

檢視遠端倉庫:$ git remote -v

新增遠端倉庫:$ git remote add [name] [url]

刪除遠端倉庫:$ git remote rm [name]

修改遠端倉庫:$ git remote set-url --push [name] [newUrl]

拉取遠端倉庫:$ git pull [remoteName] [localBranchName]

推播遠端倉庫:$ git push [remoteName] [localBranchName]

*如果想把原生的某個分支test提交到遠端倉庫,並作為遠端倉庫的master分支,或者作為另外一個名叫test的分支,如下:

$git push origin test:master // 提交本地test分支作為遠端的master分支

$git push origin test:test // 提交本地test分支作為遠端的test分支

2)分支(branch)操作相關命令

檢視本地分支:$ git branch

檢視遠端分支:$ git branch -r

建立本地分支:$ git branch [name] ----注意新分支建立後不會自動切換為當前分支

切換分支:$ git checkout [name]

建立新分支並立即切換到新分支:$ git checkout -b [name]

刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經參與了合併的分支,對於未有合併的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項

合併分支:$ git merge [name] ----將名稱為[name]的分支與當前分支合併

建立遠端分支(本地分支push到遠端):$ git push origin [name]

刪除遠端分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]

*建立空的分支:(執行命令之前記得先提交你當前分支的修改,否則會被強制刪乾淨沒得後悔)

$git symbolic-ref HEAD refs/heads/[name]

$rm .git/index

$git clean -fdx

3)版本(tag)操作相關命令

檢視版本:$ git tag

建立版本:$ git tag [name]

刪除版本:$ git tag -d [name]

檢視遠端版本:$ git tag -r

建立遠端版本(本地版本push到遠端):$ git push origin [name]

刪除遠端版本:$ git push origin :refs/tags/[name]

合併遠端倉庫的tag到本地:$ git pull origin --tags

上傳本地tag到遠端倉庫:$ git push origin --tags

建立帶註釋的tag:$ git tag -a [name] -m 'yourMessage'

4) 子模組(submodule)相關操作命令

新增子模組:$ git submodule add [url] [path]

如:$git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs

初始化子模組:$ git submodule init ----只在首次檢出倉庫時執行一次就行

更新子模組:$ git submodule update ----每次更新或切換分支後都需要執行一下

刪除子模組:(分4步走哦)

1) $ git rm --cached [path]

2) 編輯「.gitmodules」檔案,將子模組的相關設定節點刪除掉

3) 編輯「 .git/config」檔案,將子模組的相關設定節點刪除掉

4) 手動刪除子模組殘留的目錄

5)忽略一些檔案、資料夾不提交

在倉庫根目錄下建立名稱為「.gitignore」的檔案,寫入不需要的資料夾名或檔案,每個元素佔一行即可,如

target

bin

*.db




=====================

Git 常用命令

git branch 檢視本地所有分支
git status 檢視當前狀態
git commit 提交
git branch -a 檢視所有的分支
git branch -r 檢視本地所有分支
git commit -am "init" 提交併且加註釋
git remote add origin [email protected]:ndshow
git push origin master 將檔案給推到伺服器上
git remote show origin 顯示遠端庫origin裡的資源
git push origin master:develop
git push origin master:hb-dev 將本地庫與伺服器上的庫進行關聯
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 [email protected]:username/Hello-World.git
git push origin master 將本地專案給提交到伺服器中
-----------------------------------------------------------
git pull 本地與伺服器端同步
-----------------------------------------------------------------
git push (遠端倉庫名) (分支名) 將本地分支推播到伺服器上去。
git push origin serverfix:awesomebranch
------------------------------------------------------------------
git fetch 相當於是從遠端獲取最新版本到本地,不會自動merge
git commit -a -m "log_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分支
du -hs

-----------------------------------------------------------
mkdir WebApp
cd WebApp
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin [email protected]:daixu/WebApp.git
git push -u origin master

Git 常用命令圖表

以上就是介紹Git 常用命令大全的詳細內容,更多請關注TW511.COM其它相關文章!