IDEA中實(shí)戰(zhàn)Git

工作中多人使用版本控制軟件協(xié)作開發(fā)形葬,常見的應(yīng)用場(chǎng)景歸納如下:

假設(shè)小組中有兩個(gè)人,組長(zhǎng)小張板丽,組員小袁

場(chǎng)景一:小張創(chuàng)建項(xiàng)目并提交到遠(yuǎn)程Git倉(cāng)庫(kù)

場(chǎng)景二:小袁從遠(yuǎn)程Git倉(cāng)庫(kù)上獲取項(xiàng)目源碼

場(chǎng)景三:小袁修改了部分源碼扔亥,提交到遠(yuǎn)程倉(cāng)庫(kù)

場(chǎng)景四:小張從遠(yuǎn)程倉(cāng)庫(kù)獲取小袁的提交

場(chǎng)景五:小袁接受了一個(gè)新功能的任務(wù)挂签,創(chuàng)建了一個(gè)分支并在分支上開發(fā)

場(chǎng)景六:小袁把分支提交到遠(yuǎn)程Git倉(cāng)庫(kù)

場(chǎng)景七:小張獲取小袁提交的分支

場(chǎng)景八:小張把分支合并到主干

下面來(lái)看以上各場(chǎng)景在IDEA中對(duì)應(yīng)的操作兑凿。

場(chǎng)景一:小張創(chuàng)建項(xiàng)目并提交到遠(yuǎn)程Git倉(cāng)庫(kù)

創(chuàng)建好項(xiàng)目,選擇VCS - > Import into Version Control -> Create Git Repository

接下來(lái)指定本地倉(cāng)庫(kù)的位置茵瘾,按個(gè)人習(xí)慣指定即可礼华,例如這里選擇了項(xiàng)目源代碼同目錄

點(diǎn)擊OK后創(chuàng)建完成本地倉(cāng)庫(kù),注意拗秘,這里僅僅是本地的圣絮。下面把項(xiàng)目源碼添加到本地倉(cāng)庫(kù)。

下圖是Git與提交有關(guān)的三個(gè)命令對(duì)應(yīng)的操作雕旨,Add命令是把文件從IDE的工作目錄添加到本地倉(cāng)庫(kù)的stage區(qū)扮匠,Commit命令把stage區(qū)的暫存文件提交到當(dāng)前分支的倉(cāng)庫(kù),并清空stage區(qū)凡涩。Push命令把本地倉(cāng)庫(kù)的提交同步到遠(yuǎn)程倉(cāng)庫(kù)棒搜。

IDEA中對(duì)操作做了一定的簡(jiǎn)化,Commit和Push可以在一步中完成活箕。

具體操作力麸,在項(xiàng)目上點(diǎn)擊右鍵,選擇Git菜單

因?yàn)槭堑谝淮翁峤挥琍ush前需要指定遠(yuǎn)程倉(cāng)庫(kù)的地址克蚂。如下圖,點(diǎn)擊Define remote后筋讨,在彈出的窗口中輸入遠(yuǎn)程倉(cāng)庫(kù)地址埃叭。

場(chǎng)景二:小袁從遠(yuǎn)程Git倉(cāng)庫(kù)上獲取項(xiàng)目源碼

即克隆項(xiàng)目,操作如下:

輸入小張Push時(shí)填寫的遠(yuǎn)程倉(cāng)庫(kù)地址

接下來(lái)按向?qū)Р僮飨ず保纯砂秧?xiàng)目從遠(yuǎn)程倉(cāng)庫(kù)克隆到本地倉(cāng)庫(kù)和IDE工作區(qū)赤屋。

場(chǎng)景三:小袁修改了部分源碼立镶,提交到遠(yuǎn)程倉(cāng)庫(kù)

這個(gè)操作和首次提交的流程基本一致,分別是 Add -> Commit -> Push益缎。請(qǐng)參考場(chǎng)景一

場(chǎng)景四:小張從遠(yuǎn)程倉(cāng)庫(kù)獲取小袁的提交

獲取更新有兩個(gè)命令:Fetch和Pull谜慌,F(xiàn)etch是從遠(yuǎn)程倉(cāng)庫(kù)下載文件到本地的origin/master,然后可以手動(dòng)對(duì)比修改決定是否合并到本地的master庫(kù)莺奔。Push則是直接下載并合并欣范。如果各成員在工作中都執(zhí)行修改前先更新的規(guī)范,則可以直接使用Pull方式以簡(jiǎn)化操作令哟。

場(chǎng)景五:小袁接受了一個(gè)新功能的任務(wù)恼琼,創(chuàng)建了一個(gè)分支并在分支上開發(fā)

建分支也是一個(gè)常用的操作,例如臨時(shí)修改bug屏富、開發(fā)不確定是否加入的功能等晴竞,都可以創(chuàng)建一個(gè)分支,再等待合適的時(shí)機(jī)合并到主干狠半。

創(chuàng)建流程如下:

選擇New Branch并輸入一個(gè)分支的名稱

創(chuàng)建完成后注意IDEA的右下角噩死,如下圖,Git: wangpangzi_branch表示已經(jīng)自動(dòng)切換到wangpangzi_branch分支神年,當(dāng)前工作在這個(gè)分支上已维。

點(diǎn)擊后彈出一個(gè)小窗口,在Local Branches中有其他可用的本地分支選項(xiàng)已日,點(diǎn)擊后選擇Checkout即可切換當(dāng)前工作的分支垛耳。

如下圖,點(diǎn)擊Checkout

注意飘千,這里創(chuàng)建的分支僅僅在本地倉(cāng)庫(kù)堂鲜,如果想讓組長(zhǎng)小張獲取到這個(gè)分支,還需要提交到遠(yuǎn)程倉(cāng)庫(kù)护奈。

場(chǎng)景六:小袁把分支提交到遠(yuǎn)程Git倉(cāng)庫(kù)

切換到新建的分支缔莲,使用Push功能

場(chǎng)景七:小張獲取小袁提交的分支

使用Pull功能打開更新窗口,點(diǎn)擊Remote欄后面的刷新按鈕逆济,會(huì)在Branches to merge欄中刷新出新的分支酌予。這里并不想做合并,所以不要選中任何分支奖慌,直接點(diǎn)擊Pull按鈕完成操作抛虫。

更新后,再點(diǎn)擊右下角简僧,可以看到在Remote Branches區(qū)已經(jīng)有了新的分支建椰,點(diǎn)擊后在彈出的子菜單中選擇Checkout as new local branch,在本地倉(cāng)庫(kù)中創(chuàng)建該分支岛马。完成后在Local Branches區(qū)也會(huì)出現(xiàn)該分支的選項(xiàng)棉姐,可以按上面的方法,點(diǎn)擊后選擇Checkout切換笛洛。

場(chǎng)景八:小張把分支合并到主干

新功能開發(fā)完成乃坤,體驗(yàn)很好苛让,項(xiàng)目組決定把該功能合并到主干上。

切換到master分支湿诊,選擇Merge Changes

選擇要合并的分支,點(diǎn)擊Merge完成

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仿畸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子朗和,更是在濱河造成了極大的恐慌错沽,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甥捺,死亡現(xiàn)場(chǎng)離奇詭異镀层,居然都是意外死亡皿曲,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門坞古,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)劫樟,“玉大人,你說(shuō)我怎么就攤上這事叠艳。” “怎么了吃粒?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵拒课,是天一觀的道長(zhǎng)事示。 經(jīng)常有香客問(wèn)我僻肖,道長(zhǎng),這世上最難降的妖魔是什么劝堪? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任谁榜,我火速辦了婚禮,結(jié)果婚禮上帝蒿,老公的妹妹穿的比我還像新娘巷怜。我一直安慰自己,他們只是感情好延塑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布关带。 她就那樣靜靜地躺著,像睡著了一般宋雏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嗦明,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天蚪燕,我揣著相機(jī)與錄音,去河邊找鬼诗良。 笑死鲁驶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播葛作,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猖凛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了虱岂?” 一聲冷哼從身側(cè)響起菠红,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔑滓,沒(méi)想到半個(gè)月后遇绞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹄咖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年付鹿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片银亲。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纽匙,死狀恐怖拍谐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轩拨,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布晕翠,位于F島的核電站,受9級(jí)特大地震影響硫麻,放射性物質(zhì)發(fā)生泄漏樊卓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一浇辜、第九天 我趴在偏房一處隱蔽的房頂上張望唾戚。 院中可真熱鬧,春花似錦叹坦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至道盏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間媒咳,已是汗流浹背种远。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妙同,地道東北人膝迎。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像芒涡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子费尽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 工作中多人使用版本控制軟件協(xié)作開發(fā)依啰,常見的應(yīng)用場(chǎng)景歸納如下: 假設(shè)小組中有兩個(gè)人,組長(zhǎng)小張速警,組員小袁 場(chǎng)景一:小張...
    AlbenXie閱讀 301評(píng)論 0 1
  • Git常用語(yǔ)法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/闷旧。)是一個(gè)開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,529評(píng)論 0 13
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評(píng)論 9 163
  • 天空 安穩(wěn) 大地亦然安穩(wěn) 海水深埋明亮的頭顱 明亮頭顱是太陽(yáng)匠襟、是月亮该园、是詩(shī)人筆下的眼睛 那滿天星辰 大地依然安...
    我所見過(guò)的生命閱讀 298評(píng)論 0 2
  • 我吧,最近認(rèn)真寫軟文也只有大半年啃勉,一周一篇的頻率双妨,算是很低的產(chǎn)出淮阐。 但是,從前期的銷量全無(wú)泣特,到后期的逐步改進(jìn)挑随,我自...
    獨(dú)角仙的夏天閱讀 563評(píng)論 0 0