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 功能稱為分支保護。啟用分支保護後,無法刪除或強制推送分支,並且在接受前,拉取請求必須至少有一個稽核。”
Quinn 演示了幾個更奇妙的有用的工具,使 Git 更高效和萬無一失,如 mr、vcsh 和定製的 shell 提示。你可以在下面看到完整的影片,瞭解更多有趣的事情。
via: https://www.linux.com/news/event/LinuxCon-Europe/2016/terrible-ideas-git-0
作者:CARLA SCHRODER 譯者:geekpi 校對:Bestony
相關文章
- git與sourcetree的那些事Git
- 可怕!那些你看不到的程式
- ThreeJS 中線的那些事JS
- 郵件功能中的那些事
- 談談 Java 中的那些“瑣”事Java
- javascript中this那些事JavaScript
- 關於Javascript中的”use strict”的那些事JavaScript
- 關於Swift中的指標的那些事Swift指標
- DOM的那些事
- a>b的那些事
- WAF的那些事
- Volatile的那些事
- Synchronized的那些事synchronized
- Docker容器中應避免的那些事兒Docker
- EF中延遲載入的那些事
- Java 混淆那些事(六):Android 混淆的那些瑣事JavaAndroid
- iOS CollectionView 的那些事iOSView
- https的那些事兒HTTP
- getComputedStyle方法的那些事
- webpack的那些事兒Web
- 微服務的那些事微服務
- [譯] Kotlin中關於Companion Object的那些事KotlinObject
- Flutter 中“倒數計時”的那些事兒Flutter
- 滲透中尋找突破口的那些事
- Cocos Creator 中的動作系統那些事兒
- 測試在專案流程中的那些事兒
- Git在專案中的那些實操(持續更新...)Git
- Eval家族的那些事兒
- 關於Cookie的那些事Cookie
- Apk 簽名的那些事APK
- 前端單測的那些事前端
- ZAB協議的那些事?協議
- 負載均衡的那些事?負載
- cpp:const引出的那些事
- cpp:enum引出的那些事
- KgCaptcha驗證的那些事GCAPT
- 敏捷開發的那些事敏捷
- 有關Kafka的那些事Kafka
- Java泛型的那些事Java泛型