Git 從入門到跑路(五)

大家好,我是《Git 從入門到跑路(四)》左小白,如大家所愿,我已經(jīng)跑路了,且?guī)е业男∨迸芰恕?/p>
17
左小白還想著如何解決分支合并沖突問題,一到公司就被經(jīng)理叫到會議室,“臥槽,不會出什么事吧,我也就代碼沒有提交啊”,小白當時害怕極了。
“是這樣的,說下昨晚開會客戶的決策……沒什么重要事,不要緊張兮兮的”,經(jīng)理看出來我很緊張,停了下繼續(xù)說:“客戶覺得我們效率低,擔心完不成,希望安排人去現(xiàn)場支持,看得出小白是個很努力的人,想安排你去支援,可以嗎?”
“是去哪里?”
“深圳。”
“這么遠啊?”
“不要擔憂,飛機住宿都是可以報銷的,你先去,后面陸續(xù)安排其他同事去”,嘀嘀咕咕說了很多。
“好吧!”
其實左小白內心是拒絕的。
“什么時間去啊?”
“今天是周五,你馬上買機票,下周一就過去”。
18
回到座位,左小白下載了航旅縱橫 APP,看了周一去深圳的航班,6 點一班,15 點一班,那只能買 6 點了,意味著早上 4 點要起床去機場,這么早,怎么去機場還是問題,滴滴?想想就很難受。
周六還去公司加班了,周日睡了一天,吵鬧的 4 點鬧鐘開始起床,試試滴滴,還真有人接單。40 分鐘車程到了機場,匆匆忙忙過了安檢。
到了深圳就開干,一刻沒歇,沖突的問題還得解決,上次命令git merge進行合并報錯如下:
$ git merge dev
Auto-merging config.xml
CONFLICT (content): Merge conflict in config.xml
Automatic merge failed; fix conflicts and then commit the result.
左小白先用命令 git status 查看狀態(tài):
git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: config.xml
no changes added to commit (use "git add" and/or "git commit -a")
打開 config.xml 文件:
<<<<<<< HEAD:config.xml
<div id="footer">contact : [email protected]</div>
=======
<div id="footer">
please contact us at [email protected]
</div>
>>>>>>> dev:config.xml
臥槽,好復雜,不想看了!卻默默打開了搜索引擎,搜索關鍵字“Git”、“分支”、“沖突”,原來這表示 <<<<<<< 到======= 部分指 master 分支所在的位置,=======到>>>>>>>部分指 dev 分支所在的位置 。為了解決沖突,必須選擇使用由 ======= 分割的兩部分中的一個,或者也可以自行合并這些內容。
當解決了所有文件里的沖突之后,對每個文件使用 git add 命令來將其標記為沖突已解決,最后git commit來提交,搞定。
19
還有 5 分鐘就要遲到了,急忙往公司趕,準備上樓時看到一位高挑妹紙疾風而過,好漂亮啊,小白愣住了,這不就是小白心中的女神啊,這是哪個公司啊,小白心想。媽媽呀,要遲到了,電梯怎么還不來,爬樓吧,最后還是遲到了 3 秒,都怪那個妹紙,要找她算帳!
回到工位,又看到了那妹紙,還做她旁邊?“難道她是我們公司,沒見過啊?”
下午 3 時,小白為一個 bug,正沒有頭緒,焦頭爛額,突然被一個人敲了下肩,小白氣不打一處來,要發(fā)火了,只見那妹紙對她笑著說:“請問下,我git add已經(jīng)提交了,我還要改點代碼,如果再 add 是不是會成兩條提交記錄啊”
“嗯,是的”,左小白很確定地說。
“一次 bug 修復我只想有一個提交記錄,有辦法嗎”
“這么強迫癥,難道你是處女座?”
“這都被你猜到了”,妹紙有點急了。
“你可以使用命令git reset HEAD^從本地倉庫撤銷到工作區(qū),這樣就可以繼續(xù)修改,之前提交的那條記錄會沒有的。”
"本地倉庫?工作區(qū)?"妹紙一臉懵逼。
“工作區(qū):你現(xiàn)在修改區(qū)域;通過命令git add把代碼放到暫存區(qū),使用命令git commit提交代碼并不是真的提上來了,而是放在本地倉庫,git push才真的提交到遠程倉庫,我這樣簡單解釋“工作區(qū)”、“暫存區(qū)”、“本地倉庫”、“遠程倉庫”四個概念可以理解嗎?”我問妹紙。
“讓我消化下……也就是說 Git 是不受網(wǎng)絡影響,隨時隨地可以提交代碼,反正也是先提交到本地倉庫”。
“可以啊,都能延伸了啊”我給妹紙豎了大拇指。
“話雖如此,可我還是不敢撤銷,萬一操作壞了!”
好吧,左小白手把手幫妹紙操作一遍,妹紙投來敬仰的眼光,左小白內心樂開了花。
20
晚上 10 點,終于可以下班了。
“我請你吃夜宵吧,今天幫我一個大忙”,妹紙向左小白說。
“好啊。”
“我今天第一次來,周圍還不熟悉……”
“沒事,離我們不遠有家串串店很好吃,我們去吃吧,哦,你可以吃辣嗎?”
“可以啊,我可無辣不歡。”
路程大概 10 分鐘,左小白 20 多年來還很少單獨跟妹紙相處,不禁有些緊張起來,為了不尷尬,左小白找著話題尬聊起來。
“哎呀,我居然還不知道你的名字呢。”
“右小愛。”
“我左小白,我們名字似乎有點般配啊,哈哈”
……
“小愛,你是我們公司嗎,怎么沒見過你啊?”
“不是,我來蘇州無為科技有限公司。”
“我是無錫思銳科技有限公司的,無錫知道嗎,就是旁邊的城市。”
“知道的,這個項目缺人,我剛畢業(yè),啥不會,公司讓我來湊數(shù)的。”
“沒有啦,看你代碼很溜,還以為你工作好幾年了呢。”
吃串串時,兩人你一句我一句瞎聊著,右小愛就是深圳人,高考沒考好,就選了蘇州大學,目前實習。
21
"小白,我git add加到暫存區(qū),我想撤銷怎么搞?就是從暫存區(qū)撤銷到工作區(qū)怎么搞?"小愛問到。
“命令git reset HEAD <file>”
“果然可以。”
“小白,經(jīng)理說這個 bug 不用改了,我工作區(qū)修改的代碼可以不要了,難道要把我修改的代碼再改回去?”
“不用,命令git checkout <file>即可。”
過了一會,小愛很開心地對小白說:“你真厲害。”
“小愛,看你寫了一天代碼,有什么成果啊?”
“解了 5 個 bug 了。”
“你可以看你寫了多少代碼的。”
“這么神奇?怎么看啊?”
“ git diff --shortstat "@{0 day ago}"查看今天你寫了多少行代碼。"
“牛啊,小白!你知道這么多,都是怎么學的?”
“我之前有看過吳小龍同學寫的博客,公號 吳小龍同學 后臺回復 Git 可以獲取 Git 完整資料。”
“好的,我這就去公號 吳小龍同學 后臺回復 Git 獲取資料。”

“牛逼,還有 Git 思維導圖,我平時用到的命令都有,嘖嘖,原來你教我都是來自吳小龍同學啊。”
“嘿嘿。”
22
有了小愛“陪伴”時光好像過的格外的快,轉眼三個月過去了,左小白和右小愛從一開始都不知道對方名字,到慢慢熟悉,到后面直接稱兄道弟,可小愛實習期到了,小愛當然是要在深圳留在她爸媽身邊的,因此她要先回蘇州,辦理離職。
“小白,你今后打算啊。”
“不知道啊,可能要留在無錫吧。”
小愛沒有繼續(xù)說話,這一天都沒有跟左小白說句話。
自從小愛回去了,左小白整天提不起精神來,總感覺是缺少了什么,不行,左小白喜歡上右小愛了。
第三天右小愛回到了深圳,小白想向小愛表白,但是又很擔心,萬一不答應,不要最后兄弟都沒得做,在這種糾結中,小白發(fā)燒了。






很明顯感覺她有些不高興。

小白急了,豁出去吧。

要暈,要暈,小白假裝暈了過去。

只見小愛輕輕地點點了頭。

小愛狠狠捶了小白胸口一下。
第二天,左小白提了離職申請,從此左小白和右小愛過上了沒羞沒臊的幸福生活。
