Git 自救指南:這些坑你都跳得出嗎?

2021-02-20 PHP開源社區

Git 雖然因其分布式管理方式,不完全依賴網絡,良好的分支策略,容易部署等優點,已經成為最受歡迎的原始碼管理方式。但是一分耕耘一分收穫,如果想更好地掌握 git,需要付出大量的學習成本。即使在各種 GUI 的加持下,也不得不說 git 真的很難,在 V2EX 上也常有如何正確使用 git 的討論,同時在 Stackoverflow 上超過 10w+ 的 git 相關問題也證明了 git 的複雜性。再加上 git 的官方文檔也一直存在著 「先有雞還是先有蛋」 的問題,雖然文檔非常全面,但如果你不知道你遇到的問題叫什麼,那麼根本就無從查起。

作為國內領先的研發管理解決方案供應商,CODING 一直致力於在國內普及 git 的使用,為軟體研發提供更高效率。本文節選自 Katie Sylor-Miller 在日常工作中所遇到過的讓他很頭疼的 git 相關問題,並整理了相應的應對措施,在這裡分享給正在學習如何使用 git 的同學們。當然這些應對措施並不是唯一的,可能你會有其他更好的應對方法,這也恰恰是 git 這套版本控制系統強大的地方。

原文標題:《Oh shit,git!》

原文地址:https://ohshitgit.com/

我剛剛好像搞錯了一個很重要的東西,

但是 git 有個神奇的時間機器能幫我復原!/

reflog 是一個非常實用的命令,你可以使用這個命令去找回無意間刪除的代碼,或者去掉一些剛剛添加的卻把倉庫裡的代碼弄壞的內容。同時也可以拯救一下失敗的 merge,或者僅僅是為了回退到之前的版本。

我 commit 完才想起來

還有一處小地方要修改!/

當我 commit 完然後跑測試的時候,經常突然發現忘了在等於號前面加空格。雖然可以把修改過的代碼再重新 commit 一下,然後 rebase -i 將兩次揉在一起,不過上面的方法會比較快。

我要改一下上一個 commit message!/

當你們組對 commit message 有格式要求時,或者當你忘了中英文間要加空格,這個命令能救你狗命。

我不小心把本應在新分支上的內容

 commit 到 master 了! /

注意:這個指令必須在錯誤的 commit 後直接執行,如果你已經試了其他的方式,你可能就需要用 git reset HEAD@{number} 來代替 HEAD~ 了。

/ 我不小心 commit 到錯誤的分支上了! /

也有很多人推薦了 cherry-pick 的解決方案,所以選哪個就看你心情了。

Git 不會給通過 add 加入到 staging 區域裡面的文件做 diff ,除非你加了 --staged 的標籤,別懷疑了這是一個 feature 不是一個 bug,當然對於第一次碰到這個問題的人來說還是有些不好理解的。

為了維護最後的尊嚴 XD

不知道你在使用 git 中有沒有遇到過各種令人掀桌的問題呢?

或者作為 git 資深用戶有什麼可以分享的小技巧呢?

歡迎大家在留言區跟我們互動~

相關焦點

  • 對比 git pull和 git pull --rebase的使用區別
    首選區別這兩個操作:git pull = git fetch + git merge
  • 春節自救指南:怎樣討好關心你的親戚長輩
    今天,距離丙申年的除夕日還有整整十天,你,準備好了嗎?這兩天,一曲《春節自救指南》走紅網絡,歌曲廣泛應對了長輩逼婚、親戚關懷、「別人家的孩子」等過年聚會的傳統拷問模式。不過,如果你真打算在過年回家時按歌詞聊天,那就做好這輩子別想再回家的準備吧。在此,作為過來人的微信君有一些小小的tips想跟大家分享一下,也許不那麼快速給力,但至少能讓你不太尷尬。
  • 姐姐問我什麼是變基操作(git-rebase)
    代碼review不方便,當你要做code review時,一個很小的功能卻提交了很多次,看起來就不是很方便了。這一篇文章我們先不講git提交規範,我們先來解決一下如何合併多次提交記錄。已經領先於你的 dev 分支了:
  • 春節自救指南一起學習一下!
    每當這個時候心裡都在os:「關你什麼事」,但不想爸媽用眼神殺死自己,最後還是要微笑禮貌回答。今天小編就來解救你們,為你們奉上春節自救指南,讓你們優雅地回答「做什麼工作」「工資多少」「有房有車有對象嗎」關愛三連問。
  • 00後春節自救指南!!!
    春節自救指南!!!小時候最討厭的就是在飯桌上突然讓你站起來和某某親戚家的孩子一起比身高。非常討厭,有木有!我反正是極為厭煩。因為這個時候你個子高或矮都會很尷尬,所以最常見的情況是你倆都不願意,然後一群家長起鬨。
  • 【燒腦題】據說這個答案只有千分之一的人才能得出,你是其中之一嗎?
    這道題難倒了成千上萬的人,你能做出來嗎? inquisitr論壇則跳出來為大家進行了答案的講解:「得出40的過程是:把上一行的答案加到下一行的公式中。」像這樣:1+4=55+2+5=1212+3+6=2121+8+11=40
  • 情緒自救指南:雲吸美食篇丨福利
    今天,是你為新冠病毒宅家的第幾天?
  • 桂醫版跳一跳 | 最高紀錄等你來刷新
    自微信進軍遊戲圈起大家為戰勝這個魔性的小遊戲全軍出擊力爭上遊士氣十足紛紛在朋友圈裡發起挑戰 很多時候別人的都是唱片機但專屬於桂醫學子的「跳一跳」你玩過嗎?絕對讓你驚喜哦!憑著一口氣能吃完五碗飯的毅力順利通過前幾個方塊男朋友也入坑到碗裡來脫單任務已完成+27分因為有你大活更精彩桂醫版跳一跳福利發狗糧
  • 神曲《春節自救指南》 親愛的家人,你為何這樣愛我?
    諮詢師問我,你有煩心事的時候,跟父母說嗎?我把頭搖得像撥浪鼓一樣。不說,不說,說了他們情緒更不穩定,我自己都不穩定,再加上他們就更麻煩了。(你聽聽這用詞,「攻擊性」!) 今天,我發現最能說明長輩們「攻擊性」的在這裡。屢創神曲的「彩虹合唱團」又出了《春節自救指南》,被譽為史上最經典的春節回鄉舌戰群親戚,自我救贖的必備良藥。歌裡把親戚的群像給刻畫了一遍,比如春節回家,你會遭遇親戚的輪番轟炸:「七姑問,找對象了沒?有喜歡的人了沒?那麼明天帶你去相親?抓緊快減個肥。
  • 話題 | 三坑姐妹被槓事件合集,你遇到過嗎?
    就極其容易遇見槓精「出警」今天,小燃就來盤點一下三坑少女非常容易被出警的幾件事情叭快來康康你有沒有遇見過呢?小槓:你這裙子是山的吧?小慘:不是哦,我這條是廠原,是廠家原創噠!小槓:呵呵,廠原不就是山原?恕我直言,知山穿山是xx!
  • 這些規矩你都知道嗎?
    如果你不知道包紅包的「潛規則」,就容易掏錢不討好啦!所以為了杜絕此類事件的發生小編特奉上最強婚禮紅包指南!一般個數決定價格,比如你有3個伴娘3個伴郎,那估計你單價就包不高了;如果只有1個伴娘1個伴郎,就可以敞起包了。建議大家不要這麼坑,只給50元!
  • 心肌梗塞:自救=用力咳嗽,靠譜嗎?
    近來,一則有關「自我心肺復甦」的帖子在網絡上被廣泛轉發,帖子內容寫當發生心梗時,若是四周沒有旁人能幫忙急救,患者本人要立刻把握這10秒鐘的「黃金時間」進行自救。具體方法為:「要不停咳嗽,用力咳,每次咳嗽前,都要先深深吸一大口氣,然後,用力地、深深地、長長地、不停地咳,好像要把胸腔深處的痰咳出來一般,每間隔大約兩秒鐘,要做一次吸、一次咳,一直要做到救護車趕到時,或者已經感到恢復正常,才能休息」。「如此急救,可讓獨處的心臟病發作患者有機會到醫院被救!」專家觀點:大錯特錯!
  • 經常掛在嘴邊的坑爹詞:「好坑」英文到底怎麼說?
    做人好難,一不小心就會被坑禁不住想要問問蒼天為什麼被坑的總是我。這樣做,不是明擺著坑爹嗎?Doing so is obviously cheating, isn’t it?2). 你賣給我的這件衣服質量這麼差,不是明顯坑爹嗎?You sold me such an inferior coat. Obviously, you are deceiving me.3). 你連我都敢蒙,簡直就是坑爹。
  • 臺灣拍得出《戰狼2》嗎?島內網友:連個武打明星都沒有,拍個屁
    文章稱,或許就是這些隱喻,才讓大陸青年觀後心有戚戚焉而熱淚盈眶。節目也列舉了其中的經典臺詞,像是「犯我中華者,雖遠必誅」、「護照的含金量不在於讓你去多少國家免籤,而在於帶你安全回家」、「一朝是戰狼,一生是戰狼」、「有些偉大的民族,你永遠不能低估」等。《中國時報》的分析指出,電影雖被視為藝術,卻同時是文化軟實力的重要載體。美國好萊塢影片挾其優異特效營造出華麗無比的聲光效果,負載美式價值觀向全世界擴散,是美國影響力遠播的原因之一。
  • 曲說:「跳一跳」速成班,這個辦法讓你每次都是第一
    大家好,我是這幾天跳一跳,跳得手抽筋的老曲。那麼,我們今天就來說說「跳一跳」這個遊戲。說句實話,老曲之前認為沒事兒,拿這個手機在那兒戳來戳去挺傻的,現在卻天天樂此不疲。不過這個遊戲也讓老曲的強迫症犯了好幾次,比方說為什麼不能連跳,最少大跳之後應該有個空中停滯來控制走位、為什麼箱子和箱子之間的距離總是變化、還有那個加分的選項,你為什麼非要停2秒,我的手指都控制不住我自己,不小心按小了,卡在箱子邊邊上,為什麼就不能重心往前一下?還有老曲最受不了的,為什麼落地那麼穩?不應該有慣性嗎?要不是因為手機太貴了,砸不起,我早就準備把牛頓的棺材板翹起來了。
  • youtube外國網民討論:中國造得出高端晶片嗎
    中國造得出高端晶片嗎?都已經把人送上月球背面了,小小的半導體產業應該不是個問題。應該問,中國人編寫得出世界級的軟體嗎? rob1248996There is no way that China can produce its own chips. They can't even make cell phones.
  • Excel教程:Excel表輸入數據,你被坑了嗎?
    你有被excel這樣坑過嗎?該怎麼處理呢?坑一:在excel表裡輸入以0開頭的數據,0消失了例:在單元格裡輸入工號0001,0會消失,變成1,該怎麼解決呢?先將單元格格式設置成文本格式,再輸入以0開頭的工號坑二:在excel表裡輸入手機號碼,變成了#號例:在C2單元格裡輸入手機號碼13509621565,變成了#號,這是神馬情況呢??拉寬列寬,或雙擊C列右邊線,將列寬調整至最合適的列寬。
  • 出門在外,記住這些自救常識!
    這些自救常識你要掌握!這樣的慘劇也不禁讓人想起近年來頻發的大巴車事故。我們在出行選擇上不可能完全放棄大巴車這個重要的選項,那麼一旦遭遇危險,學會如何自救就成為了重中之重,可能會挽救我們和其他人的生命。安全錘是大巴車逃生時的首要工具,由於許多大巴車的車窗都是封閉式的,因此學會用安全錘及時準確地砸破車床逃生才是首要!
  • 9102社工版春節自救指南(升級版2.0)!!!
    你的機構還有幾天放假呢?小客身邊好多小夥伴都扛不住了紛紛得了「病」什麼暫時性雞血症、年貨採購興奮症……這些「病症」都有什麼「症狀」呢?你中招了嗎?或許看看小夥伴怎麼說的你就會有」靈感「了!SOS!社工過年回家必備「生存指南」1.0版本2、暫時性雞血癥結項報告?領導我來寫!入戶探訪?我去吧!哦,還要和街道對接一下細節?沒問題!
  • 朋友出國買東西代購,我被坑了嗎?
    「哪位代購幫我看一下,我是不是被朋友坑了?她去日本之前我給了他1000人民幣,我也不清楚什麼好,讓她看著買。然後她幫我買了一些,但是看起來特別少,在日本當地的價格我不了解,但是我以國內的價格去估計,都覺得這些東西應該不到800人民幣。