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
















 
 
 



 
 
 
 