為了你能愉快地積累Python專案,我做了一份手把手的GitHub教程
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 技術積累——C++ 呼叫 python 專案C++Python
- 專案---累積型快照事實表sqlSQL
- Python3的使用積累Python
- 你會在 GitHub 上面找專案嗎?我會哦!Github
- [專案積累]後端專案之Koa2經驗整理後端
- 如何推廣你的 Github 專案Github
- github上的python爬蟲專案_GitHub - ahaharry/PythonCrawler: 用python編寫的爬蟲專案集合GithubPython爬蟲
- 沒了IDE,你的Java專案還能Run起來嗎~IDEJava
- 手把手教你用 Github Actions 部署前端專案Github前端
- 專案成本管理軟體能為你做什麼?
- 為什麼同樣的專案,他能賺錢,你卻不能
- 年底了,你的專案該覆盤了
- 你真的會用 GitHub 麼?超通俗完整的教程來了!Github
- 如何在 GitHub 上支援你喜歡的專案Github
- 逆天了! 三天做了個全國性的大專案
- 你的專案使用Optional了嗎?
- 幫朋友優化簡歷專案經驗,我把Github上105K點讚的技術教程+開源專案做成教程優化Github
- python爬蟲例項專案大全-GitHub 上有哪些優秀的 Python 爬蟲專案?Python爬蟲Github
- GitHub 上有哪些優秀的 Python 爬蟲專案?GithubPython爬蟲
- 將本地專案託管到 Github&Gitee 教程GithubGitee
- PS積累
- 日常積累——彙編檔案編寫
- 【專案實踐】手把手帶你搞定SSMSSM
- 保姆級教程,如何發現 GitHub 上的優質專案?Github
- 我們整理了20個Python專案,送給正在求職的你Python求職
- GitHub 上適合新手的開源專案(Python 篇)GithubPython
- 【python-致用】為嫖掘金月更獎品,我用剛學的python做了個批次檔案內容替換Python
- 為了摸清ARPU提升10-30%的方法 我們找專業GS維護要了一份PPT
- 刷爆了!GitHub標星1.6W,這個 Python 專案太實用!GithubPython
- 這幾個換臉 GitHub 專案太牛了!Github
- 為了讓你在“口袋奇兵”聊遍全球,Serverless 做了什麼?Server
- 我是如何把 GitHub 開源專案做到 5300+ star 的Github
- 新的GFS累積降水變數-兩種不同的累積降水記錄變數
- 001 手把手用Git,Git從入門到上傳本地專案到Github,看這篇就夠了Github
- lunix 命令積累
- 正經的我,做了個不正經的專案 —— Pornhub 風格 Logo 生成器Go
- 你的文章裡為什麼不放原始碼Github連結了原始碼Github
- 一不小心,它成為了 GitHub Alibaba Group 下 Star 最多的開源專案Github