GitHub開發者介紹

GitHub是一個聚集了數百萬開發者的網站,他們每天都在一起合作共同開發開源軟體。GitHub同時也是給軟體使用者報告問題的地方,它托管了數十億行程式碼。作為一個開發者,你應該了解GitHub中最重要的一些功能。 GitHub介紹 為什麼使用GitHub? GitHub問題 社交式程式碼開發 關注 星標 衍生 熱門=更好 合併請求 專案管理 比較提交 Webhooks和服務 Webhooks 服務 最後一句 GitHub介紹 GitHub是一個網站,每天都有數百萬名開發者在這裡合作共同開發開源軟體。它也是軟體使用者報告問題的地方,同時也是托管數十億行程式碼的地方。 簡而言之,GitHub是一個為開發者打造的平台,並且是基於Git的。 提示:如果你對Git還不熟悉,可以查看這個Git指南。 作為一個開發者,你每天都無法避免使用GitHub,無論是為了托管你的程式碼還是使用別人的程式碼。本文將介紹GitHub的一些重要概念,以及如何使用一些提升你工作流程的功能,以及如何將其他應用程式整合到你的開發過程中。 為什麼使用GitHub? 現在你已經知道GitHub是什麼,你可能會問你應該為什麼要使用它。 畢竟,GitHub是由一家私人公司管理的,他們從托管別人的程式碼中獲獎利潤。那你為什麼要使用GitHub,而不是類似的平台,如BitBucket或GitLab? 除了個人喜好和技術原因外,有一個重要的原因:每個人都在使用GitHub,所以它的社群效應非常巨大。 大型程式碼庫過去已經從其他版本控制系統遷移到Git,因為Git在使用上非常方便,而GitHub在Open Source社群中一直處於很好的地位(並且付出了很多努力)。 所以今天,無論你查找任何庫,你99%的機會在GitHub上找到它。 除了Open Source程式碼外,很多開發者也會因為使用GitHub上的獨特功能而在上面託管私有庫。 GitHub問題 GitHub問題是全球最受歡迎的錯誤追蹤工具之一。 它提供了一個使庫的所有者可以組織、標記和分配給里程碑的問題的功能。 如果你在由其他人維護的項目上報告問題,它會保持開放,直到你關閉它(例如,如果你找到了問題)或項目所有者關閉它。 有時你會得到結論性答案,其他時候問題會保持開放,並且會被標記一些資訊以對其進行分類。開發者可能會根據您的反饋修復問題或改進程式碼庫。 大多數開發者並不為他們在GitHub上釋出的程式碼提供支援,所以你不能指望獲得及時的回覆。但有時候開源庫是由提供相關服務的公司發布的,這些公司可能對該程式碼提供相關服務,或提供具有更多功能的商業版本,或者有一個插件架構,它們可以作為有償的開發人員工作在開源軟體上。 社交式程式碼開發 幾年前,GitHub的標誌中包含了「社交式程式碼開發」的標語。 這表示什麼,現在是否仍然相關?當然是相關的。 關注 在GitHub上你可以關注開發者,只需要進入他們的個人資料並點擊「關注」按鈕。 你也可以關注一個庫,只需要點擊庫的「關注」按鈕。 無論哪種情況,這些活動都會顯示在你的主頁上。這裡的「關注」不像Twitter上的「關注」,在這裡你可以看到人們在GitHub上做了哪些事情。 星標 GitHub最重要的功能之一是將庫加入星標。這個動作將庫加入到你的「已加星標庫」列表中,使你可以在以後找到你之前感興趣的項目。這也是其中一種最重要的評級機制,因為一個庫獲得的星星數越多,它就越重要,並且會在搜索結果中更常出現。 重要的項目有時可能會有超過7萬的星標。 GitHub還有一個trending頁面,它會顯示在一段時間內獲得最多星標的庫,例如今天、本週或本月。 進入這些熱門列表會產生其他的社交效應,比如被其他網站推薦,因為你有更多的曝光機會。 衍生 一個項目的最後重要的社交指標是fork的次數。 這也是GitHub的關鍵功能之一,因為衍生(fork)是提交合併請求(PR)的基礎,也是一個變更建議。一個人基於你的庫進行衍生,做出一些變更,然後創建一個合併請求來請求你合併這些變更。 有時候衍生的人永遠不會請求合併任何東西,只是因為他們喜歡你的程式碼,決定在它的基礎上添加一些內容,或者解決了他們遇到的某個 bug。 衍生只是將GitHub項目的文件克隆下來,不會包含原始項目的星標和問題。 熱門=更好 總的來說,這些都是項目受歡迎程度的關鍵指標,通常還與最後提交的日期、作者在問題追蹤器中的參與度一起使用,這些都是評估你是否可以依賴一個庫或軟體的有用指標。 合併請求 在介紹**什麼是合併請求(PR)**之前,我們先來看看是如何進行的。 通常,一個人會基於你的庫進行衍生(fork),做出一些變更,然後創建一個合併請求(PR)來請求你合併這些變更。 一個項目可能會有數百個合併請求,一般而言,一個項目越受歡迎,合併請求越多,就像React項目一樣: 一旦一個人提交了一個合併請求,使用GitHub界面很容易,該合併請求需要項目的核心維護者進行審查。 根據你的合併請求的範圍(變更數量、受到變更影響的事物數量、觸及的程式碼的複雜度)維護者可能需要多一點或少一點的時間來確保你的變更與該項目兼容。 一個項目可能會有明確的時間表,他們希望推出一些新的更改。當你在PR中說明了一個復雜的架構時,維護者可能希望保持事情簡單。 這可能意味著不是所有的合併請求都會被迅速接受,也不能保證合併請求會被接受。 就像我在上面發布的例子中,有一個在該庫中已經有一年半的合併請求。這在所有的項目中都會發生。 專案管理 除了問題跟蹤,GitHub界面還提供了其他旨在幫助專案管理的功能。 其中之一是項目(Project)。這在生態系統中非常新,並且使用非常罕見,但它是一個看板工具,有助於組織問題和待完成的工作。 維基(Wiki)旨在用於用戶文檔。到目前為止,我看到的使用Wiki最令人印象深刻的是Go Programming Language GitHub Wiki。...

成為一個出色的開發團隊成員

如何適應團隊環境 作為一名開發者,您幾乎總是在團隊環境中工作。 是什麼讓您成為一個出色的開發團隊成員?我在上一個模塊中已經談到了一些使您成為一個出色的開發團隊成員的主要技能,特別是共鳴、對新技術的開放性、您不是代碼以及願意改變觀點。 在這篇文章中,我想討論更多關於優秀團隊成員的特質。 優秀的團隊成員願意向其他團隊成員尋求幫助,也願意幫助任何人。 優秀的團隊成員不會以一種讓他們感到不好的方式批評其他人的代碼。這也包括過去編寫的代碼和您必須維護的舊項目。您不知道開發人員必須遵守的限制,所以不能評判已經編寫的代碼。您不是代碼,但人們還是會直覺地與自己的工作產生聯繫。 優秀的團隊成員有能力在團隊中擔任領導角色,或者讓其他人成為領導者,並跟隨他們的指導。 優秀的團隊成員不會獨自工作,而是應該盡可能與其他人合作,尋求意見和審查。 優秀的團隊成員信任團隊中的其他成員做正確的事情,並將竭盡所能確立和維護與自己的信任。失敗是可以接受的,只要失敗是學習如何成功的一種方式。 優秀的團隊成員是卓越通信者,在離線環境和在電子郵件或問題跟踪工具等在線工具中都能良好溝通。 優秀的團隊成員能夠設定界限並估計完成特定任務需要花費多少時間,以便其他人可以根據您的日程安排做出調整。 優秀的團隊成員能夠將任務委派給其他團隊成員。 當其他團隊成員做出出色的工作時,優秀的團隊成員會給予他們讚揚。