Git中那些可怕的事
在 LinuxCon 北美會議上 FutureAdvisor 的 Corey Quinn 說:“Git 的確讓你可以做一些超級強大的事。‘強大’,在這次講演中,這是一種對愚蠢的委婉說法”。在使用 Git 時,誰沒有經歷讓你感覺自己像個***的時刻?當然,Git 是很棒的,每個人都在使用它,你可以用幾個基本命令完成你的大部分工作。但它也有一些強大的功能,讓我們覺得我們不知道我們在做什么。
但這真的對我們來說不公平。沒有人會知道一切,每個人知道的都不同。Quinn 提醒我們:“在我許多講演的問答部分,人們有時舉手說:“嗯,我有一個傻問題。” 你看到人們在那里說:“是啊!這是一個非常愚蠢的問題”。但是當他們得到答案時,那些這么說的人也正在低頭記筆記。
Quinn 在演講的開始做了一些有趣的演示,演示了一些你可以用 Git 做到的可怕的事情,例如變基主干然后進行強制推送來搞亂整個項目、胡亂輸入一些命令讓 git 吐槽、提交大型二進制文件等。然后他演示了如何使這些可怕的事情不怎么可怕,如更加明智地管理大型二進制文件。“你可以提交大型二進制文件,你可以在 Git 中暴力提交,如果你需要存儲大的二進制文件,這里有兩個工具會可以加速載入,一個是 git-annex,這是由 Debian 開發人員 Joey Hess 開發的,而 git-lfs 是由 GitHub 支持的。”
你經常同樣地錯誤輸入么?例如,當你想要 git status 時卻輸入 git stitis?Quinn 有一個方案:“Git 有內置的別名支持,所以你可以將相對較長、復雜的東西命名為一個短的 Git 命令。” 此外,你還可以使用 shell 別名。
Quinn 說:“我們都聽說過變基主干然后強制推送這樣的搞笑惡作劇,它會改變版本歷史,突然發生的事情讓所有人都措手不及,每個人都被卷入了這種混亂當中。一群鯨魚被稱為“pod”,一群烏鴉中被稱為“謀殺”,一群開發者被稱為“合并沖突”……更嚴重的是,如果有人干了這種事情,你有幾個選擇。包括從備份中恢復主干,還原提交;或者把責任人從屋頂上尖叫著扔下去?;蛘?,采取一定的預防措施并使用一個并不知名的 Git 功能稱為分支保護。啟用分支保護后,無法刪除或強制推送分支,并且在接受前,拉取請求pull request必須至少有一個審核。”