GitHub進階用法-程序員必備技能

目錄:
1.GitHub極速入門-程序員必備技能
** 2.GitHub進階用法-程序員必備技能(所在章節(jié))**
以上章節(jié)用到命令速查表:Git指令速查表


本文章的內(nèi)容目錄:

  • HEAD & 標識
  • 分支
  • 提交歷史
  • Pull & Push
  • 一些小技巧
    1.當開發(fā)到一半遇到需要切換branch情況咬荷,但不想提交開發(fā)了一半的工作圈暗。如何做贷腕?

HEAD & 標識

如圖HEAD標示著最新提交。同時分支標號master標示著分支最新節(jié)點坪仇。

當執(zhí)行g(shù)it commit時:
HEAD和master就會從指向原來的節(jié)點ed489變?yōu)橹赶?code>f0cec

git commit

分支

怎么創(chuàng)建分支嫡意?

但進行并行開發(fā)的時候,我們就需要分支。
例如:我們要開多一條分支開發(fā)feature-A

branch

git branch {新建分支名字}

git branch feature-A

那么怎么查看分支有那些歼捐,并且自己處于那條分支呢?

git branch
branch list

其中master前有個*代表所處分支

怎么切換分支晨汹?

git checkout feature-A

接著就切換到feature-A這條分支了豹储。

刪除分支執(zhí)行
git branch -d {分支名字}

那么當你開發(fā)完feature-A,要將其合并到master時,怎辦淘这?

Merge
//先切換到你想feature-A合并到的分支
git checkout master
// git merge {你想合并入的分支名}
git merge feature-A

但若果merge后彈出如下信息:

confilc
代表有沖突剥扣,也就是說在feature-A修改的地方跟在master修改的地方一樣但修改內(nèi)容不同。那么打開hello文件手動修改沖突地方铝穷。

打開文件钠怯,看到如圖:

confilc in file

<<<<< HEAD代表著最新提交,沖突地方是not hello world!
>>>>> feature-A的代表著分支feature-A曙聂,沖突是hello world!

只要將沖突的地方改掉晦炊,并重新commit就ok了。
那么,只留hello world!就好了

fix
git add hello
git commit 

將各分支提交歷史圖形化

git log --graph

如圖断国,紅色是master贤姆,綠色是分支feature-A。*號對齊的就是提交歷史稳衬。

graph

提交歷史

Checkout

checkout命令用于從歷史提交(或者暫存區(qū)域)中拷貝文件到工作目錄霞捡,也可用于切換分支。

當我們想回到某一個提交歷史時的文件狀態(tài)時

首先git log復制提交歷史的id
如圖畫紅線的地方:

id

接著

//git checkout {提交歷史ID}
git checkout 0ce3a18d5ceac114eaa0fd8decd2009200b59277

就回到了那個歷史記錄了薄疚。

checkout

原理如圖碧信,checkout會將那個節(jié)點的文件狀態(tài)復制到暫存區(qū)工作目錄

假如我們checkout向前數(shù),第三個節(jié)點街夭。
那么執(zhí)行git checkout master~3
如圖:

git checkout

如圖HEAD會指向到master前的第三個節(jié)點音婶。
標號master~n代表向這個節(jié)點向前數(shù)第n個節(jié)點

那么當我們想回到原來那個位置呢?

只需git checkout master 那么HEAD就會回到指向ed489那個master節(jié)點的位置莱坎。

那么如果我們想回溯歷史版本呢衣式?

使用reset命令

reset命令把當前分支指向另一個位置,并且有選擇的變動工作目錄和索引檐什。也用來在從歷史倉庫中復制文件到索引碴卧,而不動工作目錄。

像checkout那樣不過這次會將分支都推前到那個歷史乃正。如圖:

reset

那么住册,命令:

//git reset {提交歷史ID}
git reset --hard b148e8064eb97d9b0917bad86131af492a4e9651

我們后悔了不想回溯歷史版本了,但我們已執(zhí)行了reset命令了,那么瓮具?

那么就使用git reflog看所有執(zhí)行過的歷史荧飞。
如圖:

reflog

那么看看最左的HEAD曾經(jīng)所在的ID

然后再次使用reset將分支推后到那個ID。

//git reset --hard {提交歷史ID}
git reset 78f16e3

若果我們提交了歷史記錄名党,想改掉那條信息叹阔,則

譬如:

git commit -m "hello"

但我們已經(jīng)執(zhí)行了上面的命令,卻想改掉“hello”這信息传睹。

那么

git commit --ammend

Pull & Push

git push {遠程庫名} {分支名}git pull {遠程庫名} {分支名} 都是將提交歷史從分支名開始一直到初節(jié)點push上去(pull 下來)

如圖耳幢,執(zhí)行git push remoteName a將分支apush 上去,則只會push 從a沿著箭頭到盡頭的提交歷史欧啤,b是沒有push上去的:

pull

git fetch

如圖:

fetch

在local我們的master是指向a72

而GitHub上作出master是指向5b3
這時Push的話就會有沖突睛藻。

于是就先使用git fetch origin將GitHub的改變下載到本地,并用標示origin/master指向該分支邢隧。如圖:

fetch

接著只需使用merge將origin/master與master合并解決沖突再提交就可以了店印。

一些小技巧(不定期更新)


1.當開發(fā)到一半遇到需要切換branch情況,但不想提交開發(fā)了一半的工作倒慧。如何做按摘?

  • 使用stash

執(zhí)行git stash 暫時存儲變化
然后當你修改完另一分支后讥邻,回到原分支
執(zhí)行git stash pop恢復原來的變化,繼續(xù)原來的工作:)

最后


今天偶然看到的這句話院峡,挺帶感的兴使。

your time is limited, so don't waste it living someone else s life. --喬布斯

所以就在這里愿大家愛愿愛之人,做愿做之事照激,成愿成之人!!!!!
共勉之

-----至此本章節(jié)END--------
如果喜歡這篇文发魄,就請你動動拇指,戳喜歡吧;)

我所有文章的總目錄:我的簡書博文地圖

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市俩垃,隨后出現(xiàn)的幾起案子励幼,更是在濱河造成了極大的恐慌,老刑警劉巖口柳,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苹粟,死亡現(xiàn)場離奇詭異,居然都是意外死亡跃闹,警方通過查閱死者的電腦和手機嵌削,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來望艺,“玉大人苛秕,你說我怎么就攤上這事≌夷” “怎么了艇劫?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惩激。 經(jīng)常有香客問我店煞,道長,這世上最難降的妖魔是什么风钻? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任顷蟀,我火速辦了婚禮,結(jié)果婚禮上魄咕,老公的妹妹穿的比我還像新娘衩椒。我一直安慰自己蚌父,他們只是感情好哮兰,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苟弛,像睡著了一般喝滞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膏秫,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天右遭,我揣著相機與錄音,去河邊找鬼。 笑死窘哈,一個胖子當著我的面吹牛吹榴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滚婉,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼图筹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了让腹?” 一聲冷哼從身側(cè)響起远剩,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎骇窍,沒想到半個月后瓜晤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡腹纳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年痢掠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘲恍。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡志群,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛔钙,到底是詐尸還是另有隱情锌云,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布吁脱,位于F島的核電站桑涎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏兼贡。R本人自食惡果不足惜攻冷,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遍希。 院中可真熱鬧等曼,春花似錦、人聲如沸凿蒜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽废封。三九已至州泊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漂洋,已是汗流浹背遥皂。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工貌嫡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留撰茎,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像扰付,于是被迫代替她去往敵國和親趴樱。 傳聞我的和親對象是個殘疾皇子隙弛,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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

  • 優(yōu)秀畢業(yè)生梆暖,國家獎學金,三篇SCI乌奇,三項發(fā)明專利没讲,這就是我的研究生。 說到這礁苗,我想問的是爬凑,對于讀研這個話題,我是不...
    Peter家浩閱讀 1,103評論 1 6
  • 參考鏈接: http://www.cnblogs.com/jisheng/archive/2013/01/10/2...
    簡單Liml閱讀 715評論 0 0