git命令行完全解讀

BY 張建成(prettyEcho@github)

除非另行注明灸芳,頁面上所有內(nèi)容采用知識(shí)共享-署名(CC BY 2.5 AU)協(xié)議共享

原文地址deep.js , 歡迎 評(píng)論star

<p style="color: rgb(253,201,11);" align="center">???? 歡迎評(píng)論和star ????</p>

git命令行

  1. git clone

    • 用于將遠(yuǎn)端倉庫拷貝到本地
    • ssh: git clone username@host:/path/to/repository
    • https: git clone https:/path/to/repository.git
  2. git config

    • 這個(gè)命令定義了所有配置,從用戶信息到倉庫行為等等
    • git config --global --edit : 編輯器打開配置文件
    • git config --global user.name : 配置提交的用戶名
    • git config --global user.email : 配置提交的郵箱
  3. git add

    • 將本地工作區(qū)(Working dir)改變提交到緩存區(qū)(Index)
    • git add <file> : 提交確定文件
    • git add * : 提交所有更改
    • git add -A : 提交tracted和untracted中的文件提交到緩存區(qū)
    • git add -u : 提交tracted中的文件提交到緩存區(qū)
    • git add -p : 交互式提交
  4. git commit

    • 將緩存的快照提交到項(xiàng)目歷史
    • git commit -m "<message>" : 提交已經(jīng)緩存的快照星掰。它會(huì)運(yùn)行文本編輯器叫倍,等待你輸入提交信息幕庐。當(dāng)你輸入信息之后解愤,保存文件冈绊,關(guān)閉編輯器侠鳄,創(chuàng)建實(shí)際的提交。
  5. git status

    • 列出已緩存死宣、未緩存伟恶、未追蹤的文件(緩存區(qū)和工作區(qū)文件狀態(tài))
    • Changes to be committed: 文件在緩存區(qū)
    • Changes not staged for commit: 在工作區(qū)已經(jīng)追蹤的文件
    • Untracked files: 在工作區(qū)未追蹤的文件
  6. git pull

    • 拉取并合并遠(yuǎn)端項(xiàng)目(默認(rèn)拉取marter項(xiàng)目)
  7. git push

    • 推送本地git到遠(yuǎn)端
    • git push
    • git push origin <branch>: 推送本地git到遠(yuǎn)端某個(gè)分支
    • git push --set-upstream origin <branch>: 創(chuàng)建遠(yuǎn)端分支并推送代碼
  8. git log git

    • 命令顯示已提交的快照
  9. git checkout

    • 這個(gè)命令有三個(gè)不同的作用:檢出文件、檢出提交和檢出分支

    • 提交層面

      • 移動(dòng)HEAD指針到固定的提交
      • git checkout HEAD~2
      • git checkout <commit>
    • 文件層面

      • 用提交版本中的文件覆蓋本地工作區(qū)的文件
      • git checkout HEAD~2 test.txt
      • git checkout HEAD <file> (常用)
        <p style="text-align: center">
        <img src="https://user-gold-cdn.xitu.io/2018/4/3/16289af9f0f6849d?w=800&h=426&f=png&s=35338" alt="checkout-file" style="width: 40%">
        </p>
    • 分支層面

      • 切換分支
      • git checkout <branch>
  10. git reset

    • 修改提交版本毅该,會(huì)刪除提交歷史(一定要謹(jǐn)慎)博秫,切記當(dāng)把提交推送到遠(yuǎn)端后潦牛,禁止使用git reset

    • 提交層面

      • git reset --soft HEAD~2
      • git reset --soft <commit>

    <p style="text-align: center">
    <img src="https://user-gold-cdn.xitu.io/2018/4/3/16289af9f10c5b5e?w=800&h=1190&f=png&s=50577" alt="reset" style="width: 40%">
    </p>

除了在當(dāng)前分支上操作,你還可以通過傳入這些標(biāo)記來修改你的緩存區(qū)或工作目錄:

    * --soft – 緩存區(qū)和工作目錄都不會(huì)被改變
    * --mixed – 默認(rèn)選項(xiàng)挡育。緩存區(qū)和你指定的提交同步巴碗,但工作目錄不受影響
    * --hard – 緩存區(qū)和工作目錄都同步到你指定的提交
     
<p style="text-align: center">
    <img src="https://user-gold-cdn.xitu.io/2018/4/3/16289af9f0edc02b?w=800&h=550&f=png&s=30152" alt="reset-scope" style="width: 40%">
</p>
    
常用操作:

    * git reset --mixed HEAD / git reset HEAD
    * git reset --hard HEAD

* 文件層面
    + 用提交版本中的文件覆蓋緩存區(qū)的文件
    + git reset HEAD~2 text.txt
    + git reset HEAD <file>

  <p style="text-align: center">
    <img src="https://user-gold-cdn.xitu.io/2018/4/3/16289af9f108ea6e?w=800&h=422&f=png&s=33574" alt="reset-file" style="width: 40%">
</p>
  1. git revert

    • Revert撤銷一個(gè)提交的同時(shí)會(huì)創(chuàng)建一個(gè)新的提交。這是一個(gè)安全的方法即寒,因?yàn)樗粫?huì)重寫提交歷史橡淆。
    • git revert HEAD~2
      • 會(huì)找出倒數(shù)第二個(gè)提交,然后創(chuàng)建一個(gè)新的提交來撤銷這些更改母赵,然后把這個(gè)提交加入項(xiàng)目中逸爵。

    <p style="text-align: center">
    <img src="https://user-gold-cdn.xitu.io/2018/4/3/16289afa197868fe?w=800&h=1217&f=png&s=58696" alt="revert" style="width: 40%">
    </p>

  2. git stash

    • git stash : 暫存當(dāng)前正在進(jìn)行的工作
    • git stash pop : 恢復(fù)暫存的文件
    • git stash list: 顯示暫存棧中所有暫存的歷史
    • git stash apply stash@{1} : 將指定暫存紀(jì)錄恢復(fù)
    • git stash clear : 清空暫存棧
  3. git branch

    • 創(chuàng)建、列出凹嘲、重命名和刪除分支
    • git branch : 列出所有分支
    • git branch <branch> : 創(chuàng)建一個(gè)名為<branch>的分支
    • git branch -d <branch> : 刪除指定分支师倔。這是一個(gè)安全的操作,Git 會(huì)阻止你刪除包含未合并更改的分支施绎。
    • git branch -D <branch> : 強(qiáng)制刪除指定分支溯革,即使包含未合并更改。如果你希望永遠(yuǎn)刪除某條開發(fā)線的所有提交谷醉,你應(yīng)該用這個(gè)命令致稀。
    • git branch -m <branch> : 將當(dāng)前分支命名為 <branch>。
  4. 簡(jiǎn)記圖

<p style="text-align: center">
<img src="https://user-gold-cdn.xitu.io/2018/4/3/16289afa3e049455?w=838&h=492&f=jpeg&s=102730" alt="main" style="width: 30%">
</p>

  1. 參考
    https://www.cnblogs.com/houpeiyong/p/5890748.html
    https://github.com/geeeeeeeeek/git-recipes
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末俱尼,一起剝皮案震驚了整個(gè)濱河市抖单,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遇八,老刑警劉巖矛绘,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異刃永,居然都是意外死亡货矮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門斯够,熙熙樓的掌柜王于貴愁眉苦臉地迎上來囚玫,“玉大人,你說我怎么就攤上這事读规∽ザ剑” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵束亏,是天一觀的道長(zhǎng)铃在。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么定铜? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任阳液,我火速辦了婚禮,結(jié)果婚禮上宿稀,老公的妹妹穿的比我還像新娘趁舀。我一直安慰自己,他們只是感情好祝沸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著越庇,像睡著了一般罩锐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卤唉,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天涩惑,我揣著相機(jī)與錄音,去河邊找鬼桑驱。 笑死竭恬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熬的。 我是一名探鬼主播痊硕,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼押框!你這毒婦竟也來了岔绸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤橡伞,失蹤者是張志新(化名)和其女友劉穎盒揉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兑徘,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刚盈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挂脑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藕漱。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖最域,靈堂內(nèi)的尸體忽然破棺而出谴分,到底是詐尸還是另有隱情,我是刑警寧澤镀脂,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布牺蹄,位于F島的核電站,受9級(jí)特大地震影響薄翅,放射性物質(zhì)發(fā)生泄漏沙兰。R本人自食惡果不足惜氓奈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鼎天。 院中可真熱鬧舀奶,春花似錦、人聲如沸斋射。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽罗岖。三九已至涧至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桑包,已是汗流浹背南蓬。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哑了,地道東北人赘方。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像弱左,于是被迫代替她去往敵國(guó)和親窄陡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

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

  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照科贬,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,915評(píng)論 0 11
  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照泳梆,而是把代碼倉庫完整的鏡像下來。這樣一來榜掌,任何一處協(xié)同...
    __silhouette閱讀 15,880評(píng)論 5 147
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,471評(píng)論 1 26
  • 時(shí)光簡(jiǎn)直了优妙,我尚在十幾歲的世界神游,卻又難免被現(xiàn)實(shí)打回原形憎账。 以前不曾遠(yuǎn)游套硼,小時(shí)候到鎮(zhèn)上轉(zhuǎn)盤看到的建筑物就以為是最...
    落雨聲滴答滴滴閱讀 203評(píng)論 0 0
  • 大千世界反砌,無奇不有雾鬼。只是我們?nèi)鄙侔l(fā)現(xiàn)美的眼睛而已。下來一起來欣賞一些社會(huì)當(dāng)中和自然界中不常見到的景象宴树。 美麗的地球...
    一起手機(jī)攝影閱讀 1,815評(píng)論 23 25