為了你能愉快地積累Python專案,我做了一份手把手的GitHub教程

westwolf發表於2021-09-09

2019 年 11月 13-14 日,GitHub 舉辦了年度開發者大會 GitHub Universe 2019。今年的 GitHub 大會最大的亮點莫過於——GitHub Archive Program 程式碼永久儲存計劃。

啟動此項計劃是基於何種理由?GitHub官方給出了答案

世界由開源軟體提供動力。它是現代文明的隱藏基石,也是全人類的共同遺產。
GitHub Archive Program 的任務是為後代保留開源軟體。

圖片描述

為了把開源軟體留給子孫後代,GitHub將在 2020 年 2 月 2 日為所有公共儲存庫生成快照,儲存在北極一個地下 250 米的廢棄煤礦,快照儲存在膠片上,壽命高達 1000 年。

我的老天兒!你是不是也跟喵君一樣感到前所未有的震撼和神奇!與此同時也充滿了疑惑:

  • GitHub是個什麼玩意兒,為何有如此硬核的能力?
  • 我們該如何優雅地使用GitHub管理自己的code(bug),把code(bug)傳給世人?
  • GitHub還有哪裡有趣好玩的地方?

跟著喵君來一探究竟!

**

Github是什麼

**
GitHub是一個用於版本控制和協作的程式碼託管平臺。它可以讓你和其他人在任何地方一起工作。

試想一下我們是不是經常遇到這樣的場景:

當我們書寫各種程式碼時(也包括各種office、adobe檔案時),經常要和他人進行合作。公司N個檔案,家裡N個檔案,專案資料夾異常混亂。更別說你的同事小王還在你更新了很多內容後,給你他做的過程檔案讓你合併,你也不知道哪些檔案改過了,哪些沒有,非常低效。
圖片描述

所以Github的出現了,他讓協作者們可以把程式碼共享到虛擬主機上,就可以非常便捷的實現程式碼的同步。
圖片描述

正是因為具有如此強大的功能,僅去年一年,就有 1000 萬新開發者加入 GitHub社群,為全球 4400 萬個開源專案做出了貢獻,自2014年以來,GitHub的貢獻者在不斷增長。

圖片描述

沒錯,GitHub就是透過這樣方式的存放程式碼,把程式碼留給子孫後代。那麼,我們如何透過GitHub管理自己的code, 並且把bug留給世人呢?

如何優雅地使用Github

程式碼版本管理的工作,很長一段時間只是程式猿們的工作,所以檔案管理也會使用很多繁雜的git命令。事實上,GitHub是使用Git來透過版本控制的,Git是一個分散式版本控制系統,最初是為了幫助Linux而開發的。

如果你對這些名字都不熟悉,沒關係,你只要知道程式設計師是用下圖這種方式來管理程式碼檔案的:圖片描述圖片描述

但隨著網際網路的發展和技術的革新,越來越多的半程式猿加入到GitHub社群,Git命令對於新手玩家來說也不太友好(大神請繞道),而GitHub就是基於Git建立起來的一個程式碼託管服務平臺。俗話說得好,用最少的程式碼,做最高效的事。所以本喵決定教大家如何優雅的使用小白入門神器GitHnb Desktop。

這是一個非常友好的GUI介面,能讓我們快速上手程式碼管理。圖片描述

準備工作

  • 首先註冊一個GitHub賬號
  • 下載 GitHnb Desktop
    圖片描述

Sign in

做完熱身之後,我們首先需要登入賬號。點選左上角的File,選擇Options。圖片描述

這時有兩個sign in。本喵果斷選擇了第一個sign in ,因為它是免費的,並且完全可以滿足日常的使用,多金土豪小夥伴可以告訴喵君第二個有多香圖片描述

Create & Publish Repository

登入之後,我們就可以建立一個新的倉庫(repository),本文以建立一個github上的公開倉庫為例。圖片描述

輸入名字(name),描述(Descriptipon),本地路徑(Local path,一般為新的空資料夾),然後點選Create repository:圖片描述

這時本地路徑(Local Path)中的檔案MyKaggle資料夾已經與你建立的倉庫(Repository)相互聯絡,在Windows管理器下也發現資料夾裡有.git檔案。圖片描述

往資料夾中新增專案檔案後,Github Desktop介面中Changes一欄,顯示了剛剛我們存放到倉庫的檔案:圖片描述

然後來到關鍵一步,每一次提交都需要對提交的程式碼進行描述。輸入總結(Summary),描述(Descriptipon),然後點選Commit to master ,萬事具備:圖片描述

點選Commit to master之後,change就會清空,然後點選右上角的Publish repository: 圖片描述

在彈出的視窗中,可以根據自己需要選擇是否私有,然後點選Publish repository,這個提交過程需要花費一點時間。圖片描述

到此,專案程式碼就提交完畢,我們可以上GitHub官網檢視我們剛剛提交的專案:圖片描述

Clone

我們現在在家裡電腦上釋出了程式碼,那麼我們如何同步到公司的電腦呢?只要我們在公司的電腦也下載GitHub Desktop,並登陸賬號即可。

登入GitHub官網,找到之前提交的專案,點選右上角的Clone or download,再點選Open in Desktop: 圖片描述

填寫要克隆的本地路徑,然後點選Clone:圖片描述

等待克隆完成就可以在公司的電腦愉快地擼程式碼啦!圖片描述

Push & Pull origin

這個時候,有童鞋可能會問,如果在公司的電腦修改過專案程式碼,如何同步到家裡的電腦?圖片描述

這個時候,有童鞋可能會問,如果在公司的電腦修改過專案程式碼,如何同步到家裡的電腦?這個時候,有童鞋可能會問,如果在公司的電腦修改過專案程式碼,如何同步到家裡的電腦?圖片描述

跟之前一樣,程式碼有變化會在GitHub Desktop內Changes顯示,我們填寫好summary和description 然後Commit to master:圖片描述

再點選右上角的Push origin,我們就把修改過的專案程式碼更新到GitHub上:圖片描述

這時回到家裡的電腦,開啟GitHub Desktop,就會看到右上角變成了Pull origin,並且有一個向下的箭頭。點選一下就能把剛才在公司修改過的專案程式碼同步到家裡的電腦:圖片描述

有了這個神器,程式碼版本管理變得so easy。當然,GitHub 還有更多更強大的操作,比如branch, pull request, merge request等,想要入坑的童鞋繼續深挖。

用Github寫部落格是怎樣的體驗

在日常工作中,難免需要記錄一些筆記、學習心得在Blog裡,作為個人學習、找工作或交友時的專案展示。目前大家常用的有CSDN、簡書等等,但是這些網站的介面廣告繁多,也不是完全為技術交流準備的,所以很多程式設計者選擇自己搭建Blog。

前一段時間非常流行hexo+GitHub搭建個人部落格,但這種做法偏向於技術流。作為更專注於內容本身的意識流喵君,教你如何使用GitHub自有的project和issue實現Blog功能。

建立Repository

首先還是登入GitHub網站,建立一個repository作為部落格基地,給它起名(Name)並新增描述(Description):圖片描述

建立Project

然後進入剛剛建立的Repository,選擇上面的Projects,然後點選Create a project。這裡project,大家可以理解為一個大框架的分類:圖片描述

填寫好名字,描述,比如我想寫的是名為“Python學習之路”的筆記,然後點選Create project:圖片描述

新的project內沒有內容。需要根據自己的個人需求建立column(部落格的分類),這裡本喵建立了三個,分別是Python基礎、Pandas和Matplotlib:圖片描述圖片描述圖片描述

建立issue

issue最初的功能是用來追蹤各種想法,增強功能,任務,bug,收集反饋和報告。而對於我們構建的blog來說,issue就是我們寫文章的地方,透過labels給檔案打標籤或者關鍵詞。

來到issue介面,我們可以先設定labels:圖片描述

labels有預設自帶的,也可以自定義labels,填寫好名字和描述,點選Create label。這裡本喵建立的是“心得”,並給出了一句描述,說明我的部落格裡會有標籤為“心得”的各種內容:圖片描述

回到issue,點選New issue就可以開始寫我們的第一篇部落格啦!圖片描述

**issue的編寫支援Markdown語法,非常方便。**寫好了我們的第一篇部落格之後,需要在右邊選擇對應的labels,表明這篇部落格的主題。然後選擇將部落格放到剛剛建立的“Python學習之路”project裡,然後點選Submit new issue。

新增cards

這個時候,回到project:圖片描述

點選進入我們的project,可以發現右上角的Add card出現了藍點的提示,我們點選進入,就可以發現我們剛剛寫完的部落格:圖片描述圖片描述

我們可以直接把它拖拽到其中一個列(column)上,點選這個卡片,在右邊還會顯示部落格的預覽。直接點選Go to issue for full details,就可以瀏覽剛剛的大作了:圖片描述圖片描述

建立contents

一個沒有目錄的部落格是木有靈魂的,如何新增呢?回到code,我們可以修改README自述文件來新增目錄:圖片描述

在README里加入我們剛剛新建的project的超連結,這樣就建立好了一個帶有文章連結的目錄:圖片描述

預覽一下,如果覺得沒有問題,就點選Commit changes圖片描述

deng deng~ 這樣我們的blog就完成了,我們可以建立更多的project和issue來豐富blog,管理程式碼的同時記錄自己學習的每一步,在知識的海洋裡翻滾~圖片描述

開源專案&同性交友

開源專案

很多python的初學者總是抱怨,苦於沒有專案練手。Github簡直就是專案的寶庫。

其實透過剛剛的入門教程,我們已經發布了第一個專案到GitHub社群,別人可以在GitHub上看到我們的專案(前提是沒有設定為私有)。

在這裡各種大神貢獻了大量的開源專案,我們可以透過fork大神的專案,然後clone到本地快樂地擼程式碼。圖片描述

就拿前段時間非常火的狗屁不通文章生成器來說,只需要注入一個靈魂主題,就能生成一篇狗屁不通廢話連篇的魔幻形式主義大作!如此有趣的專案我們如何clone到本地把玩呢?圖片描述

  • 附上狗屁不同文章生成器的傳送門:

開啟連結之後,點選Fork就可以把大神的專案儲存到自己的GitHub上,然後點選Clone or download可以把專案下載到本地進行深入研究,媽媽再也不擔心我沒有專案可做啦!圖片描述

同性交友

看到大神狂拽炫酷的code是不是突然心動了?有一種遇到可以一起擼程式碼的好基友的感覺?沒錯,GitHub還有另一個名字——全球最大的同性交友社群GayHub圖片描述

我們來回顧介面,也許你也早已發現了端倪:圖片描述

找到基友後,我們可以透過issue或者request進行交流,其樂融融。圖片描述

這麼美好的交友平臺,還即將推出 GitHubApp,以後會更加便捷~圖片描述

總結

好了,本喵介紹GitHub的各種玩法,小夥伴們有木有覺得發現了新大陸?!趕緊去GitHub玩耍吧!

  • 本文作者:城市資料團資料分析師(Python)微專業學員喵君作品
  • 編輯:城市資料團

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4662/viewspace-2824426/,如需轉載,請註明出處,否則將追究法律責任。

相關文章