首頁  >  文章  >  開發工具  >  介紹Git 常用指令大全

介紹Git 常用指令大全

coldplay.xixi
coldplay.xixi轉載
2021-04-14 17:34:092807瀏覽

介紹Git 常用指令大全

一、 Git 常用命令速查

git branch 查看本地所有分支
git status 查看目前狀態 
git commit 提交 
git branch -a 查看所有的分支
git branch -r 查看遠端所有分支
git commit -am "init" 提交並且加上註解 
git remote add origin git@192.168.1.119: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 git@github.com: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 git@github.com:daixu/WebApp.git

增加一個遠端伺服器端

上面的指令會增加URL位址為'git@github.com:daixu/WebApp.git',名稱為origin的遠端伺服器函式庫,以後提交程式碼的時候只需要使用origin別名即可

#推薦(免費):Git

二、 Git 指令速查表

1、常用的Git指令


#檔案逐行回溯#圖形化衝突解決##git remote#遠端版本庫管理

#指令

#簡單說明

##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 init

git log

#顯示提交日誌

git merge

#分支合併

##git mergetool

圖化衝突解決

#git mv

重命名

############# #####git pull##################拉回遠端版本庫的提交######

git push

#推送到遠端版本庫

git rebase

#分支變基

git rebase–interactive

#互動式分支變基

git reflog

#分支等參考變更記錄管理

#########git repo-config*###################同義詞,等同於git 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、物件庫操作相關指令



3、引用操作相關指令


#指令

簡單說明

# 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

#從暫存區建立一個樹物件

#顯示遠端版本庫的參考

#指令

簡單說明

#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 receive-pack

#命令

簡單說明


或git pull 命令時在本地執行此命令,用於從其他版本庫取得缺少的物件

#執行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、版本庫轉換與互動相關指令


#


9、合併相關的輔助指令


#指令

簡單說明

#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

#針對兩個分支的三向合併。參見git merge #針對兩個分支的三向合併。參見git merge 

指令

簡單說明

# git merge-base

供其他腳本調用,找到兩個或多個提交最近的共同祖先

git merge-file

#針對檔案的兩個不同版本執行三向檔案合併

git merge-index

#對index中的衝突檔案呼叫指定的衝突解決工具

git merge-octopus

##############合併兩個以上分支。參考 git merge ###的octopus合併策略#####################git merge-one-file##################git merge-one-file######

git merge-index #呼叫的標準輔助程式

git merge-ours

合併使用本地版本,拋棄他人版本。參考git merge 的ours合併策略

git merge-recursive

的recursive合併策略

git merge-resolve

的resolve合併策略

#########git merge-subtree################################################################################# ###子樹合併。參考git merge ###的subtree 合併策略#####################git merge-tree################################################################################################## ###明確三向合併結果,不改變暫存區#########################git fmt-merge-msg##### #############供執行合併操作的腳本調用,用於建立一個合併提交說明#######

git rerere

#重用所記錄的衝突解決方案


10、雜項


git stripspacegit submodule ##git tar-tree##啟動瀏覽器以查看目錄或檔案git whatchanged顯示提交歷史記錄及每次提交的變更

#指令

簡單說明

#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 archive

################ #####git var#######

顯示Git 環境變數

git web–browse

###############git-mergetool –lib##################包含於其他腳本中,提供合併/###差異比較工具的選擇和執行########### ##########git-parse-remote###################包含於其他腳本中,提供操作遠端版本庫的函數#### ####################git-sh-setup###################包含於其他腳本中,提供shell ###程式設計的函數庫###############


下面腳本之家小編特為大家分享一個圖片版的

#Git 常用指令速查表。點擊可看大圖。

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

#

git init                               global user.name "xxx"                       # 設定使用者名稱 
git config --global user.email "xxx@xxx.com "              # 設定郵件 
git config --global color.ui true             uto 
git config --global color.diff auto 
git config --global color.branch auto 
git config --global color.interactive auto 
git clone git ssh://git@192.168.53.168/VT.git                                        查看目前版本狀態(是否修改) 
git add xyz                           add .                                   'xxx'                                    提交 
git commit --amend -m 'xxx'                               # 合併上一次提交(用於反復修改) 
git commit -am 'xxx'                                      # 將add和commit合為一步 
git rm xxx                                                #刪除index中的文件 
git rm -r *                                                                                                      ##git log --stat                                 git log -p -m 
git show dfb02e6e4f2f7b573337763e5c0013802e392818                         地                    # 顯示HEAD提交日誌 
git show HEAD^                               git tag                                   0 -m 'xxx'                                                               # 的v2.0                          # 顯示v2.0的日誌 
git diff                                                                                           為HEAD -- ./lib                                                   # 比較以本地分支master 有沒有在遠端分支master 的 ##git diff origin/master..master --stat                 地#git branch                                                                 # 顯示包含提交50089的分支 
#git branch -a                                                                                             # 顯示所有已合併至目前分支的分支 
git branch --no-         # 顯示所有未合併至目前分支的分支 
git branch -m master master_copy                                          # 從目前分支建立新分支master_copy並檢出 
git checkout -b master master_copy    上面的完整版 
git checkout features/performance                                    # 檢出遠端分支hotfixes/BJVEP933並建立本地追蹤分支
git checkout v2.0                                                   # 從遠端分支      # 檢出head版本的README文件(可用於修改錯誤回退) 
git merge origin/master                                                    # 所提交ff44785404a8e                 # 將目前分支push到遠端master分支 
git push origin :hotfixes/BJVEP933                                                                                   # 所有遠端分支(不更新本地分支,另需merge) 
#git fetch --prune                                                               的                   # 以重複命名文件README為README2
git reset --hard HEAD                               xes/BJVEP933                           # 移除分檔hotfixes/BJVEP933(本分支修改合併到其他分支) 
git branch -D hotfixes/BJVEP933                                                    的                              # 如圖分支歷史 
git show-branch --all                                     # 圖示所有分支歷史 
git whatchanged                                           # 顯示提交歷史對應的文件修改 
git revert dfb02e6e4f2f7b573337763e5c0013802e392818       # 撤銷提交dfb02e6e4f2f7b573337763e5c0013802e392818 
git ls-tree HEAD                                          #內部指令:顯示某個git對象 
git rev-parse v2.0                                                              {5} 
git show master@{yesterday}                                         # 圖示提交日誌 
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"                                 的#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            # 

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 git@192.168.1.119: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 git@github.com: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 git@github.com:daixu/WebApp.git
git push -u origin master

 

Git 常用指令圖表 


#

以上是介紹Git 常用指令大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除

相關文章

看更多