APP開發實戰132-Git命令介紹

33.2Git命令介紹

一、Git常用命令速查

gitbranch 查看本地所有分支

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] 添加一個文件到gitindex

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

gitbranch 刪除遠程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 命令速查表

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 編程的函數庫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,048評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,414評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,169評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,722評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,465評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,823評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,813評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,000評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,554評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,295評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,513評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,722評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,125評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,430評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,237評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,482評論 2 379

推薦閱讀更多精彩內容

  • 本片內容轉自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃兒閱讀 4,952評論 2 88
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,534評論 1 26
  • 本故事純熟虛構,如有雷同,純熟巧合 云樹彼岸 十年生死兩茫茫, 不思量,自難忘。 第一回 佳人撫琴,聲聲傷魂 清順...
    三山亦晚閱讀 234評論 0 1
  • 昨晚準備熬夜看世界杯的,記得大概一點半聽著歌就睡著了,晚上冰心叫我來著,以我的性格當然沒起來,冰心說他看完上半場覺...
    仂七閱讀 215評論 0 0
  • 從小立志,讀遍萬卷書,行遍萬里路。自認詩酒趁年華,且歌且行定不負韶華。 在我還是一個懵懂少年時,就一直以發奮讀書為...
    累積年歲閱讀 468評論 7 5