分支管理

幾個(gè)基本操作

  • git add
    命令實(shí)際上就是把要提交的所有修改放到暫存區(qū)(Stage)
屏幕快照 2016-10-24 下午11.21.48.png
  • 執(zhí)行git commit
    就可以一次性把暫存區(qū)的所有修改提交到分支
屏幕快照 2016-10-24 下午11.21.26.png
  • 管理修改
    Git跟蹤并管理的是修改隆敢,而非文件
    什么是修改刊懈?比如你新增了一行讨跟,這就是一個(gè)修改利赋,刪除了一行添祸,也是一個(gè)修改艳馒,更改了某些字符,也是一個(gè)修改匆浙,刪了一些又加了一些安寺,也是一個(gè)修改,甚至創(chuàng)建一個(gè)新文件首尼,也算一個(gè)修改挑庶。
    第一次修改 -> git add -> 第二次修改 -> git add -> git commit
    每次修改,如果不add
    到暫存區(qū)软能,那就不會(huì)加入到commit
    中迎捺。

  • 撤銷修改
    場(chǎng)景1:當(dāng)你改亂了工作區(qū)某個(gè)文件的內(nèi)容,想直接丟棄工作區(qū)的修改時(shí)埋嵌,用命令git checkout -- file
    場(chǎng)景2:當(dāng)你不但改亂了工作區(qū)某個(gè)文件的內(nèi)容破加,還添加到了暫存區(qū)時(shí)俱恶,想丟棄修改雹嗦,分兩步,第一步用命令git reset HEAD file
    合是,就回到了場(chǎng)景1了罪,第二步按場(chǎng)景1操作。
    場(chǎng)景3:已經(jīng)提交了不合適的修改到版本庫(kù)時(shí)聪全,想要撤銷本次提交泊藕,參考版本回退一節(jié),不過(guò)前提是沒(méi)有推送到遠(yuǎn)程庫(kù)难礼。

  • 刪除文件
    一般情況下娃圆,你通常直接在文件管理器中把沒(méi)用的文件刪了,這個(gè)時(shí)候蛾茉,Git知道你刪除了文件讼呢,因此,工作區(qū)和版本庫(kù)就不一致了谦炬,git status
    命令會(huì)立刻告訴你哪些文件被刪除了悦屏。
    現(xiàn)在你有兩個(gè)選擇节沦,一是確實(shí)要從版本庫(kù)中刪除該文件,那就用命令git rm
    刪掉础爬,并且git commit
    現(xiàn)在甫贯,文件就從版本庫(kù)中被刪除了。

另一種情況是刪錯(cuò)了看蚜,因?yàn)榘姹編?kù)里還有呢叫搁,所以可以很輕松地把誤刪的文件恢復(fù)到最新版本:
$ git checkout -- test.txt
git checkout
其實(shí)是用版本庫(kù)里的版本替換工作區(qū)的版本,無(wú)論工作區(qū)是修改還是刪除供炎,都可以“一鍵還原”常熙。

遠(yuǎn)程倉(cāng)庫(kù)

  • Github是個(gè)提供Git倉(cāng)庫(kù)托管服務(wù)的網(wǎng)站,本地Git倉(cāng)庫(kù)和Github倉(cāng)庫(kù)之間傳輸通過(guò)SSH加密碱茁。
  • git clone 是把Github遠(yuǎn)程倉(cāng)庫(kù)克到自己電腦上的本地倉(cāng)庫(kù)
  • $ git remote add origin git@github.com:michaelliao/learngit.git 用于將遠(yuǎn)程倉(cāng)庫(kù)和自己本地已存在的倉(cāng)庫(kù)關(guān)聯(lián)
  • git push命令裸卫,把當(dāng)前分支master推送到遠(yuǎn)程
  • 由于遠(yuǎn)程庫(kù)是空的,我們第一次推送master分支時(shí)纽竣,加上了-u參數(shù)墓贿,Git不但會(huì)把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支,還會(huì)把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來(lái)蜓氨,在以后的推送或者拉取時(shí)就可以簡(jiǎn)化命令聋袋。
    $ git push -u origin master
    從現(xiàn)在起,只要本地作了提交穴吹,就可以通過(guò)命令:
    $ git push origin master
    把本地master分支的最新修改推送至GitHub

分支管理

  • 每次提交(commit)幽勒,Git都把它們串成一條時(shí)間線,這條時(shí)間線就是一個(gè)分支港令。默認(rèn)master一個(gè)分支啥容。
  • 當(dāng)我們創(chuàng)建新的分支,例如dev時(shí)顷霹,Git新建了一個(gè)指針叫dev咪惠,指向master相同的提交,再把HEAD指向dev淋淀,就表示當(dāng)前分支在dev上:
$ git checkout -b dev
Switched to a new branch 'dev'

這條命令等價(jià)于
$ git branch dev$ git checkout devSwitched to branch 'dev'
轉(zhuǎn)換完成后遥昧,可以用命令查看當(dāng)前處于哪個(gè)分支
$ git branch* dev master

屏幕快照 2016-10-24 下午11.40.58.png

從現(xiàn)在開(kāi)始,對(duì)工作區(qū)的修改和提交就是針對(duì)dev分支了朵纷,比如新提交一次后炭臭,dev指針往前移動(dòng)一步,而master指針不變:


屏幕快照 2016-10-24 下午11.41.29.png
$ git add readme.txt 
$ git commit -m "branch test"
[dev fec145a] branch test 1 file changed, 1 insertion(+)

假如我們?cè)赿ev上的工作完成了袍辞,就可以把dev
合并到master上鞋仍。Git怎么合并呢?最簡(jiǎn)單的方法革屠,就是直接把master指向dev的當(dāng)前提交凿试,就完成了合并:

$ git checkout master
Switched to branch 'master'

$ git merge dev
Updating d17efd8..fec145a
Fast-forward readme.txt | 1 + 
1 file changed, 1 insertion(+)
屏幕快照 2016-10-24 下午11.42.45.png

合并完分支后排宰,甚至可以刪除dev分支。刪除dev分支就是把dev指針給刪掉那婉,刪掉后板甘,我們就剩下了一條master分支:

$ git branch -d dev
Deleted branch dev (was fec145a).
屏幕快照 2016-10-24 下午11.43.18.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市详炬,隨后出現(xiàn)的幾起案子盐类,更是在濱河造成了極大的恐慌,老刑警劉巖呛谜,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件在跳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡隐岛,警方通過(guò)查閱死者的電腦和手機(jī)猫妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)聚凹,“玉大人割坠,你說(shuō)我怎么就攤上這事《恃溃” “怎么了彼哼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)湘今。 經(jīng)常有香客問(wèn)我敢朱,道長(zhǎng),這世上最難降的妖魔是什么摩瞎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任拴签,我火速辦了婚禮,結(jié)果婚禮上愉豺,老公的妹妹穿的比我還像新娘篓吁。我一直安慰自己茫因,他們只是感情好蚪拦,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著冻押,像睡著了一般驰贷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洛巢,一...
    開(kāi)封第一講書(shū)人閱讀 52,736評(píng)論 1 312
  • 那天括袒,我揣著相機(jī)與錄音,去河邊找鬼稿茉。 笑死锹锰,一個(gè)胖子當(dāng)著我的面吹牛芥炭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播恃慧,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼园蝠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了痢士?” 一聲冷哼從身側(cè)響起彪薛,我...
    開(kāi)封第一講書(shū)人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怠蹂,沒(méi)想到半個(gè)月后善延,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡城侧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年易遣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫌佑。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡训挡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出歧强,到底是詐尸還是另有隱情澜薄,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布摊册,位于F島的核電站肤京,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏茅特。R本人自食惡果不足惜忘分,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望白修。 院中可真熱鬧妒峦,春花似錦、人聲如沸兵睛。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祖很。三九已至笛丙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間假颇,已是汗流浹背胚鸯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笨鸡,地道東北人姜钳。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓坦冠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親哥桥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蓝牲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

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

  • 遠(yuǎn)程倉(cāng)庫(kù) 到目前為止,我們已經(jīng)掌握了如何在Git倉(cāng)庫(kù)里對(duì)一個(gè)文件進(jìn)行時(shí)光穿梭泰讽,你再也不用擔(dān)心文件備份或者丟失的問(wèn)題...
    歸云丶閱讀 1,963評(píng)論 0 5
  • 本系列教程來(lái)自廖雪峰的官方網(wǎng)站,現(xiàn)在搬運(yùn)過(guò)來(lái),目的幫助自己和小白學(xué)習(xí)收藏!附贈(zèng):常用git命令清單 目錄 前言 創(chuàng)...
    Blizzard_liu閱讀 1,139評(píng)論 0 4
  • 分支概述 Git里有一個(gè)很神奇的特性叫分支例衍。說(shuō)到分支,你腦海中的第一印象可能是火影忍者里的影分身術(shù):復(fù)制多個(gè)本體已卸。...
    你好星期四閱讀 743評(píng)論 0 0
  • 前言 分支就是科幻電影里面的平行宇宙佛玄,當(dāng)你正在電腦前努力學(xué)習(xí)Git的時(shí)候,另一個(gè)你正在另一個(gè)平行宇宙里努力學(xué)習(xí)SV...
    嘟爺MD閱讀 3,835評(píng)論 3 20
  • 十九屆一中全會(huì)感懷 核心團(tuán)隊(duì)累澡,承前啟后梦抢。 千秋偉業(yè),肇始丁酉愧哟。 回望征途奥吩,慨當(dāng)以歌。 人民信任蕊梧,擔(dān)當(dāng)重托霞赫。 中國(guó)方...
    查德榮閱讀 388評(píng)論 0 0