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

閱讀本文大概需要 2 分鐘。

菜單欄中添加我微信,私聊【加羣】拉你入微信學習交流羣

Git 雖然因其分佈式管理方式,不完全依賴網絡,良好的分支策略,容易部署等優點,已經成爲最受歡迎的源代碼管理方式。

但是一分耕耘一分收穫,如果想更好地掌握 git,需要付出大量的學習成本。

即使在各種 GUI 的加持下,也不得不說 git 真的很難,在 V2EX 上也常有如何正確使用 git 的討論,同時在 Stackoverflow 上超過 10w+ 的 git 相關問題也證明了 git 的複雜性。

再加上 git 的官方文檔也一直存在着 “先有雞還是先有蛋” 的問題,雖然文檔非常全面,但如果你不知道你遇到的問題叫什麼,那麼根本就無從查起。


16bd4938270bfa63?w=1080&h=451&f=jpeg&s=25950


作爲國內領先的研發管理解決方案供應商,CODING 一直致力於在國內普及 git 的使用,爲軟件研發提供更高效率。

本文節選自 Katie Sylor-Miller 在日常工作中所遇到過的讓他很頭疼的 git 相關問題,並整理了相應的應對措施,在這裏分享給正在學習如何使用 git 的同學們。

當然這些應對措施並不是唯一的,可能你會有其他更好的應對方法,這也恰恰是 git 這套版本控制系統強大的地方。

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

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


01

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

但是 git 有個神奇的時間機器能幫我復原!/16bd493827569d0b?w=1080&h=426&f=jpeg&s=25148

reflog 是一個非常實用的命令,你可以使用這個命令去找回無意間刪除的代碼,或者去掉一些剛剛添加的卻把倉庫裏的代碼弄壞的內容。

同時也可以拯救一下失敗的 merge,或者僅僅是爲了回退到之前的版本。


02

我 commit 完纔想起來

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

16bd493827a44e36?w=1080&h=375&f=jpeg&s=23286

當我 commit 完然後跑測試的時候,經常突然發現忘了在等於號前面加空格。

雖然可以把修改過的代碼再重新 commit 一下,然後 rebase -i 將兩次揉在一起,不過上面的方法會比較快。


03

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

16bd4938287d03b3?w=1080&h=353&f=jpeg&s=15017

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


04

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

commit 到 master 了! /

16bd49382a3338d1?w=1080&h=400&f=jpeg&s=26729

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


05

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

16bd49382ed1a0a7?w=1080&h=478&f=jpeg&s=32511

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

16bd493844d65d87?w=1080&h=400&f=jpeg&s=29528


06

/ 我執行了 diff 但是啥也沒出現 /

16bd49384311a0c4?w=1080&h=271&f=png&s=14258

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

16bd493844d65d87?w=1080&h=400&f=jpeg&s=29528

07

/ Git 從入門到放棄 /

16bd493846c312d1?w=1080&h=348&f=jpeg&s=18074

爲了維護最後的尊嚴 XD

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

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

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




·END·

程序員的成長之路

路雖遠,行則必至

本文原發於 同名微信公衆號「程序員的成長之路」,回覆「1024」你懂得,給個讚唄。

回覆 [ 520 ] 領取程序員最佳學習方式

回覆 [ 256 ] 查看 Java 程序員成長規劃

16bbae8bc44559c3?w=500&h=278&f=jpeg&s=27769



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章