git優秀開源軟體 Git如何重新定義開源軟體開發

2021-10-08 05:57:00 字數 1775 閱讀 4183

git優秀開源軟體

不難解釋為什麼開源開發的興起已成為軟體和硬體行業的分水嶺事件的十幾個不同原因。 我們所有人都可以堅定地站在jquery,bootstrap和apache的肩膀上,從而更快地構建新的web應用程式。 諸如ruby,php和python之類的語言為internet提供動力,而諸如linux和freebsd之類的作業系統則為成千上萬家公司和服務奠定了基礎。

但是開源不僅與我們可以使用的免費工具有關,還與開發人員社群有關,這些社群將幫助支援瘋狂的新想法,並為他們提供繁榮,發展和改變世界的機會。 在封閉源**世界中永遠不會出現的想法。

我最喜歡的示例是我心中親愛的工具,因為它使我在開發領域的小眾市場再次令人興奮:git。 在git之前,版本控制世界已經過時了。 動盪的90年代讓位給20世紀90年代版本超級大國之間的冷戰。 git帶回了有關版本控制工作流程的爭論! 哎呀,讓人們再次關心版本控制工具很有趣。 對於版本控制的書呆子,這一直是必殺技。

git是一款出色的軟體,它重新定義了我們進行開源開發以及總體上軟體開發的方式。 當然,在此之前還有其他分布式版本控制工具,但是在我這個行業中,沒有什麼事情能如此顯著地改變我們對版本和共享工作的方式。

雖然有點瘋狂。 核心版本檔案系統提供了其強大的功能和靈活性,可以用多種不同的方式使用。 構建在該核心引擎之上的是帶有數十個標誌的數十個命令,所有這些標誌都以有用的(即使是偶爾無法**的)方式操縱該系統。 其中許多命令是由不同的開發人員分別開發的。 因此,他們可以對相似的問題採取截然不同的方法。

git還由乙個非常熟悉命令列的社群編寫。 他們習慣於在沒有護欄的環境中工作:任何在錯誤的位置意外執行'rm -rf *'的人都會告訴您,您只犯一次錯誤。 這樣做的***是,git的防護欄沒有使用者期望的版本控制系統那麼多。

董事會:「這是一項了不起的技術!它將改變一切。您看到任何挑戰嗎?」

開發人員:「好吧,我們確實發現我們偶爾會意外刪除當前分支並丟失所有工作...」

董事會:「好吧,那肯定是個錯誤嗎?我想您會新增乙個護欄以防止資料丟失?」

開發人員:「這並不是真正的錯誤。我們只需要學習如何更好地使用該工具即可。但是,我們有乙個解決方案來減輕意外資料丟失。」

董事會:「謝謝!這是什麼?」

開發人員:「我們提供了乙個更通用的解決方案。我們引入了乙個單獨的版本控制系統,稱為reflog,以便我們可以對版本控制操作進行版本控制。如果刪除分支,則只需掃瞄reflog中的適當sha並恢復它!」

木板慢慢地退了出去。

至於像帖子史蒂夫losh的git的koans表明,有很多瘋狂到git的。 我個人很難想象現在有一家公司設計並銷售git。 對於新使用者而言,存在太多的矛盾和陷阱。 但是,這些不一致和陷阱是成為強大而靈活的工具的自然***。 沒有那些粗糙邊緣的git不一定是我們都知道和喜歡的git。

好訊息是開源開發社群在那裡進行了培育和支援,它新增了諸如bisect之類的令人敬畏的功能,並提供了大量的優秀文件和教程來教新手。 這種支援使鑽石成為了世界上幾乎最受歡迎的版本控制系統中的一顆鑽石。

我們都曾想過這個瘋狂的想法,但不太確定該怎麼做。 試圖將這些想法付諸實踐可能會很恐怖-失敗很糟糕。 花上周末的時間來建設那些沒人望而卻步的東西可能會令人沮喪。 好訊息是,如果您的想法具有一定的潛力,那麼那裡有乙個社群將希望幫助您使瘋狂的鑽石閃耀。 誰知道,您在腦海中展開的那個週末專案也可能會徹底改變軟體開發。

翻譯自:

git優秀開源軟體

開源的C 優秀軟體

多 處理工具 ffmpeg 開源虛擬機器 xen 處理軟體 imagemagick 系統監控工具 mrtg 遠端登入客戶端 putty 開源賽車遊戲 speed dreams 郵件伺服器 dovecot 開源的2d遊戲引擎 hge windows版的vim編輯器 gvim ssh通訊軟體 opens...

優秀的Android開源軟體

1.android團隊提供的示例專案 如果不是從學習android sdk中提供的那些樣例 開始,可能沒有更好的方法來掌握在android這個框架上開發。由android的核心開發團隊提供了15個優秀的示例專案,包含了遊戲 影象處理 時間顯示 開始選單快捷方式等。2.remote droid rem...

開源GIT倉庫 gogs

簡介 gogs 是一款極易搭建的自助 git 服務,其目標是打造乙個最簡單 最快速和最輕鬆的方式搭建自助 git 服務。使用 go 語言開發使得 gogs 能夠通過獨立的二進位制分發,並且支援 go 語言支援的 所有平台,包括 linux mac os x windows 以及 arm 平台。專案位...