Git命令

作用域

命令 描述
--global 全局
--local 單個項目

Git配置

用戶的git配置文件~/.gitconfig

命令 描述
git config --global user.name "tiny" 用戶名
git config --global user.email "tiny@tiny.com" 用戶郵箱
git config --global color.ui true 開啟顏色
git config --global alias.co checkout 定義別名
git config --global alias.ci commit 定義別名
git config --global alias.st status 定義別名
git config --global alias.br branch 定義別名
git config --global core.editor "mate -w" 設(shè)置Editor使用textmate
git config -l 列舉所有配置

Git常用命令


查看房交、添加、提交伐割、找回,重置修改文件

命令 描述
git help <command> 顯示commond的help
git show 顯示某次提交的內(nèi)容
git show $id 顯示某次提交的內(nèi)容
git co -- <file> 拋棄工作區(qū)修改
git co . 拋棄工作區(qū)修改
git add <file> 將工作文件修改提交到本地暫存區(qū)
git add . 將所有修改過的工作文件提交暫存區(qū)
git rm <file> 從版本庫中刪除文件
git rm <file> --cached 從版本庫中刪除文件隔心,但不刪除文件
git reset <file> 從暫存區(qū)恢復(fù)到工作文件
git reset -- . 從暫存區(qū)恢復(fù)到工作文件
git reset --hard 恢復(fù)最近一次提交過的狀態(tài)帜慢,即放棄上次提交后的所有本次修改
git ci <file>git ci .git ci -a 將git add, git rm和git ci等操作都合并在一起做
git ci -am "some comments"git ci --amend 修改最后一次提交記錄
git revert <$id> 恢復(fù)某次提交的狀態(tài),恢復(fù)動作本身也創(chuàng)建了一次提交對象
git revert HEAD 恢復(fù)最后一次提交的狀態(tài)

查看文件diff

命令 描述
git diff <file> 比較當(dāng)前文件和暫存區(qū)文件差異
git diffgit diff <$id1> <$id2> 比較兩次提交之間的差異
git diff <branch1>..<branch2> 在兩個分支之間比較
git diff --staged 比較暫存區(qū)和版本庫差異
git diff --cached 比較暫存區(qū)和版本庫差異
git diff --stat 僅僅比較統(tǒng)計信息

查看提交記錄

命令 描述
git loggit log <file> 查看該文件每次提交記錄
git log -p <file> 查看每次詳細修改內(nèi)容的
diffgit log -p -2 查看最近兩次詳細修改內(nèi)容的
diffgit log --stat 查看提交統(tǒng)計信息

Git 本地分支管理


查看橄碾、切換、創(chuàng)建和刪除分支

命令 描述
git br -r 查看遠程分支
git br <new_branch> 創(chuàng)建新的分支
git br -v 查看各個分支最后提交信息
git br --merged 查看已經(jīng)被合并到當(dāng)前分支的分支
git br --no-merged 查看尚未被合并到當(dāng)前分支的分支
git co <branch> 切換到某個分支
git co -b <new_branch> 創(chuàng)建新的分支,并且切換過去
git co -b <new_branch> <branch> 基于branch創(chuàng)建新的new_branch
git co $id 把某次歷史提交記錄checkout出來,但無分支信息速挑,切換到其他分支會自動刪除
git co $id -b <new_branch> 把某次歷史提交記錄checkout出來姥宝,創(chuàng)建成一個分支
git br -d <branch> 刪除某個分支
git br -D <branch> 強制刪除某個分支 (未被合并的分支被刪除的時候需要強制)

分支合并和rebase

命令 描述
git merge <branch> 將branch分支合并到當(dāng)前分支
git merge origin/master --no-ff 不要Fast-Foward合并,這樣可以生成merge提交
git rebase master <branch> 將master rebase到branch,相當(dāng)于:git co <branch> && git rebase master && git co master && git merge <branch>

Git補丁管理(方便在多臺機器上開發(fā)同步時用)

命令 描述
git diff > ../sync.patch 生成補丁
git apply ../sync.patch 打補丁
git apply --check ../sync.patch 測試補丁能否成功

Git暫存管理

命令 描述
git stash 暫存
git stash list 列所有stash
git stash apply 恢復(fù)暫存的內(nèi)容
git stash drop 刪除暫存區(qū)

Git遠程分支管理

命令 描述
git pull 抓取遠程倉庫所有分支更新并合并到本地
git pull --no-ff 抓取遠程倉庫所有分支更新并合并到本地零蓉,不要快進合并
git fetch origin 抓取遠程倉庫更新
git merge origin/master 將遠程主分支合并到本地當(dāng)前分支
git co --track origin/branch 跟蹤某個遠程分支創(chuàng)建相應(yīng)的本地分支
git co -b <local_branch> origin/<remote_branch> 基于遠程分支創(chuàng)建本地分支箩兽,功能同上
git push push所有分支
git push origin master 將本地主分支推到遠程主分支
git push -u origin master 將本地主分支推到遠程(如無遠程主分支則創(chuàng)建,用于初始化遠程倉庫)
git push origin <local_branch> 創(chuàng)建遠程分支芳绩, origin是遠程倉庫名
git push origin <local_branch>:<remote_branch> 創(chuàng)建遠程分支
git push origin :<remote_branch> 先刪除本地分支(git br -d <branch>),然后再push刪除遠程分支

Git遠程倉庫管理

命令 描述
git remote -v 查看遠程服務(wù)器地址和倉庫名稱
git remote show origin 查看遠程服務(wù)器倉庫狀態(tài)
git remote add origin git@github:robbin/robbin_site.git 添加遠程倉庫地址
git remote set-url origin git@github.com:robbin/robbin_site.git 設(shè)置遠程倉庫地址(用于修改遠程倉庫地址)
git remote rm <repository> 刪除遠程倉庫

創(chuàng)建遠程倉庫

命令 描述
git clone --bare robbin_site robbin_site.git 用帶版本的項目創(chuàng)建純版本倉庫
scp -r my_project.git git@git.csdn.net:~ 將純倉庫上傳到服務(wù)器上
mkdir robbin_site.git && cd robbin_site.git && git --bare init 在服務(wù)器創(chuàng)建純倉庫
git remote add origin git@github.com:robbin/robbin_site.git 設(shè)置遠程倉庫地址
git push -u origin master 客戶端首次提交
git push -u origin develop 首次將本地develop分支提交到遠程develop分支笔呀,并且track
git remote set-head origin master 設(shè)置遠程倉庫的HEAD指向master分支

也可以命令設(shè)置跟蹤遠程庫和本地庫

git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop

保存密碼

git config --global credential.helper store
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末房蝉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子檀蹋,更是在濱河造成了極大的恐慌俯逾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件设联,死亡現(xiàn)場離奇詭異离例,居然都是意外死亡艘包,警方通過查閱死者的電腦和手機想虎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門忿薇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扫尺,你說我怎么就攤上這事〔ν兀” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我逐样,道長,這世上最難降的妖魔是什么争便? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任鉴嗤,我火速辦了婚禮醉锅,結(jié)果婚禮上男韧,老公的妹妹穿的比我還像新娘甚纲。我一直安慰自己,他們只是感情好春哨,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布晶渠。 她就那樣靜靜地躺著便瑟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪践啄。 梳的紋絲不亂的頭發(fā)上箫爷,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音效斑,去河邊找鬼奇昙。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闽撤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绎巨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了和媳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤作箍,失蹤者是張志新(化名)和其女友劉穎荧止,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體葱色,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡烘绽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年盏檐,在試婚紗的時候發(fā)現(xiàn)自己被綠了材失。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熊响。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洪碳,靈堂內(nèi)的尸體忽然破棺而出递览,到底是詐尸還是另有隱情,我是刑警寧澤偶宫,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布非迹,位于F島的核電站,受9級特大地震影響纯趋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一吵冒、第九天 我趴在偏房一處隱蔽的房頂上張望纯命。 院中可真熱鬧,春花似錦痹栖、人聲如沸亿汞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疗我。三九已至,卻和暖如春南捂,著一層夾襖步出監(jiān)牢的瞬間吴裤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工溺健, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留麦牺,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓鞭缭,卻偏偏與公主長得像剖膳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子岭辣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容