天天看點

Git——常用指令大全

一、 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指令參考手冊(文本版)

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 [email protected]{5} 

git show [email protected]{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 [email protected]{0}                               # 參考第一次暫存 

git stash apply [email protected]{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——常用指令大全

一、 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指令參考手冊(文本版)

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 [email protected]{5} 

git show [email protected]{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 [email protected]{0}                               # 參考第一次暫存 

git stash apply [email protected]{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——常用指令大全