Git 常用命令大全

經(jīng)典Git操作與對(duì)應(yīng)區(qū)域圖

Git庫(kù)創(chuàng)建

// 遠(yuǎn)程倉(cāng)庫(kù)克隆到本地
git clone [ssh]

// 本地構(gòu)建倉(cāng)庫(kù)
git init

Git配置

以MAC系統(tǒng)抗碰,Git配置文件一般有兩個(gè)配置文件,其作用域分別為全局級(jí)茂缚、倉(cāng)庫(kù)級(jí)

  1. 全局級(jí)配置: ~/.gitconfig
  2. 倉(cāng)庫(kù)級(jí)配置: ${ProjectFile}/.git/.gitconfig

// 查看當(dāng)前配置信息
git config -l

// 設(shè)置git用戶信息
git config [--local | --global] user.name "[name]"
git config [--local | --global] user.email "[email address]"

Git分支相關(guān)

查看

// 列出所有本地分支
git branch 

// 列出所有遠(yuǎn)程分支
git branch -r

// 列出所有本地分支和遠(yuǎn)程分支
git branch -a

// 列出本地分支及其對(duì)應(yīng)的遠(yuǎn)端分支,并附最新commit信息 (-v )
git branch -vv 

新建

// 新建一個(gè)分支,但依然停留在當(dāng)前分支
git branch [branch-name]

// 新建一個(gè)分支嵌戈,指向指定commit
git branch [branch] [commit]

// 如果本地有branch-name分支,則切換到該分支听皿,如果沒(méi)有切遠(yuǎn)程有branch-name分支熟呛,則直接以遠(yuǎn)程分支為基準(zhǔn)創(chuàng)建branch-name本地分支
git checkout [branch-name]

// 新建一個(gè)分支,并切換到該分支
git checkout -b [branch-name]

// 執(zhí)行本地分支 branch 追蹤遠(yuǎn)端 remote-branch
git branch --set-upstream [branch] [remote-branch]

同步&合并

// 同步遠(yuǎn)端變到本地
git fetch

// 同步遠(yuǎn)端變更尉姨,并與本地分支合并庵朝,可能有conflict
git pull

// 合并N個(gè)提交記錄為一個(gè)
git rebase -i HEAD~N

// 場(chǎng)景:個(gè)人分支 rebase 其它分支 ,(分支commit記錄更清爽又厉,相比merge操作少一個(gè)Merge commit)
git rebase [branch]

// 合并指定分支到當(dāng)前分支
git merge [branch]

推送

// 上傳當(dāng)前分支到跟蹤的遠(yuǎn)端分支
git push 

// 上傳本地指定分支到遠(yuǎn)程倉(cāng)庫(kù)
git push [remote] [branch]

// 強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉(cāng)庫(kù)九府,即使有沖突
git push [remote] --force

刪除

// 刪除本地分支
git branch -d [branch-name]

// 刪除遠(yuǎn)端分支
git push origin --delete [branch-name]

Git提交相關(guān)

查看


// 顯示當(dāng)前分支的提交歷史
git log


// 顯示當(dāng)前分支的最近幾次提交
git reflog

提交

// 提交暫存區(qū)到本地倉(cāng)庫(kù)區(qū)
git commit 

// 提交快捷方式 帶message
git commit -m [message]

// 提交到上一次commit,可變更message
git commit --amend -m [message]

// 將某個(gè)commit覆致,合并到當(dāng)前分支
git cherry-pick [commit]

撤銷

// 重置暫存區(qū)的指定文件侄旬,與上一次commit保持一致,但工作區(qū)不變
git reset [file]

// 重置暫存區(qū)與工作區(qū)煌妈,與上一次commit保持一致
git reset --hard

// 重置當(dāng)前分支的指針為指定commit儡羔,同時(shí)重置暫存區(qū),但工作區(qū)不變
git reset [commit]

// 重置當(dāng)前分支的HEAD為指定commit璧诵,同時(shí)重置暫存區(qū)和工作區(qū)汰蜘,與指定commit一致
git reset --hard [commit]

// 新建一個(gè)提交,并對(duì)指定commit后的所有變更進(jìn)行回滾
git revert [commit]

Git文件相關(guān)

查看

// 顯示變更的文件
git status

// 顯示暫存區(qū)和工作區(qū)的差異
git diff

操作

// 添加指定文件到工作區(qū)
git add [file]

// 添加所有文件到工作區(qū)
git add .

// 移除工作區(qū)指定文件
git rm [file]

撤銷

// 恢復(fù)暫存區(qū)的指定文件到工作區(qū)
git checkout [file]

// 恢復(fù)暫存區(qū)的所有文件到工作區(qū)
git checkout .

// 將所有工作區(qū)文件 存儲(chǔ)到stash區(qū)
git stash

// 將stash 存儲(chǔ)區(qū)最上面的一個(gè)之宿,恢復(fù)到工作區(qū)
git stash pop

Git標(biāo)簽


// 列出所有的標(biāo)簽
git tag

// 新建一個(gè)tag
git tag [tag]

// 指定commit傻姑娘新建一個(gè)tag
git tag [tag] [commit]

// 刪除本地tag
git tag -d [tag]

// 刪除遠(yuǎn)程tag
git push origin :refs/tags/[tagName]

// 推送指定tag
git push [remote] [tag]

// 以指定某個(gè)分支的tag處新建一個(gè)分支
git checkout -b [branch][tag]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末族操,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子比被,更是在濱河造成了極大的恐慌色难,老刑警劉巖炕婶,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異莱预,居然都是意外死亡柠掂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門依沮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涯贞,“玉大人,你說(shuō)我怎么就攤上這事危喉∷斡妫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵辜限,是天一觀的道長(zhǎng)皇拣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)薄嫡,這世上最難降的妖魔是什么氧急? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮毫深,結(jié)果婚禮上吩坝,老公的妹妹穿的比我還像新娘。我一直安慰自己哑蔫,他們只是感情好钉寝,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著闸迷,像睡著了一般嵌纲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腥沽,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天逮走,我揣著相機(jī)與錄音,去河邊找鬼巡球。 笑死言沐,一個(gè)胖子當(dāng)著我的面吹牛邓嘹,可吹牛的內(nèi)容都是我干的酣栈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼汹押,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼矿筝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起棚贾,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤窖维,失蹤者是張志新(化名)和其女友劉穎榆综,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铸史,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鼻疮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了琳轿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片判沟。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖崭篡,靈堂內(nèi)的尸體忽然破棺而出挪哄,到底是詐尸還是另有隱情,我是刑警寧澤琉闪,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布迹炼,位于F島的核電站,受9級(jí)特大地震影響颠毙,放射性物質(zhì)發(fā)生泄漏斯入。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一蛀蜜、第九天 我趴在偏房一處隱蔽的房頂上張望咱扣。 院中可真熱鬧,春花似錦涵防、人聲如沸闹伪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)偏瓤。三九已至,卻和暖如春椰憋,著一層夾襖步出監(jiān)牢的瞬間厅克,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工橙依, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留证舟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓窗骑,卻偏偏與公主長(zhǎng)得像女责,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子创译,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359