本文介紹Git軟體與GitHub平臺的基本內容、使用方法與應用場景等。
- 1 初步介紹
- 2 使用方法
- 2.1 GitHub配置
- 2.2 Git配置
- 2.3 程式碼上傳至GitHub
1 初步介紹
首先,什麼是GitHub與Git?為什麼我們要運用這些工具?
首先從GitHub說起。如果大家參加過數學建模比賽,或許都經歷過這樣的歷程:一個隊伍若干人負責一篇文件的不同部分,而後最終交給一位同學彙總。這時候,由於不斷地修改、完善內容,每個人的電腦中或許都出現了無數個名字類似於“第一部分1”“第一部分2”“第一部分3”“修改1”“修改2”等等這樣的Word文件,這繁多的Word檔案無疑給最終的版本合併過程帶來了很多煩惱。而數學建模中的Word與我們畢業設計中的程式碼檔案類似,也是需要不斷更新。
同時,上面所說的數學建模,往往只有3-4天的時間,因此Word文件再多也不會過於繁瑣;而畢業設計不一樣,從去年開始,再到現在,再到最終上交論文的4、5月份,這個時間跨度非常大,如果我們還採用上述這種“檔名稱後加編號”的笨方法,可能最終的檔案編號都要到三位數了;好滴,那我們不加編號了,直接在原有檔案的基礎上修改,又有新的問題出現了——如果我們在今天直接修改了前天所寫的程式碼,並且儲存檔案退出了,可是隨後發現今天的修改是有問題的,還是前天的那個版本比較正確,但是已經無法撤回,也不好再憑藉記憶手動把修改的內容一一準確地重新調整為前天修改前的版本。因此,是不是很煩惱?
那麼,GitHub就可以解決這樣的煩惱。GitHub很專業的介紹網上也有,大家百度就可以;況且我也不專業,所以就通俗的說:GitHub是一個可以管理同一個檔案的不同版本的倉庫。或許這麼說不太清楚,看了下面一張表,相信大家就瞭解了:
是的,你沒有看錯,每一個檔案都與其對應的使用者、時間與版本修改內容等一一對應,並且每一份檔案都可以下載,從而輕鬆回溯版本。說白了,GitHub就是為了實現上述這一工作。而GitHub實現上述這一工作是基於線上平臺的,換句話說其是一個實現這一目的的網站,而Git則是與GitHub相呼應的電腦軟體;二者結合,從而實現利用Git軟體將電腦中的程式碼檔案上傳至GitHub網頁中。
值得一提的是,Git並非是實現這一功能的唯一電腦軟體,但其得到了廣大程式設計師朋友的好評與大量運用。而國內也有類似GitHub的網站,例如碼雲Gitee等,與GitHub相比,速度和穩定性或許會更好,同時相信大家都是龍的傳人、支援本土企業,因此大家都可以多多嘗試。
2 使用方法
一般的,GitHub的使用有兩種方法,一是首先在GitHub網頁中建立自己的檔案,隨後同步到本地電腦;二是首先在本地電腦中完成程式碼檔案,隨後同步到GitHub網頁中。在這裡我個人認為第一種方法比較方便,因此以第一種為例。
2.1 GitHub配置
首先,我們登入GitHub官網:https://github.com/ 。註冊賬號後,點選螢幕左側的“New”按鈕,從而新建Repositories
。這個Repositories
就是大家程式碼等檔案的存放之處。隨後,為自己的Repositories
取個名字、加一個簡介,其他選項依照下圖即可。
完成後,大家就會看到在新建的Repositories
中已經有了README
與License
檔案。
隨後,在Repositories
介面左上角的Code介面,依據下圖依次選擇,並複製對應的SSH備用。
2.2 Git配置
首先,我們需要下載Git軟體,隨後安裝即可;關於安裝的具體方法,我們將在後續的部落格中介紹。
隨後,我們選擇一個合適的資料夾,在這裡右鍵,選擇“Git Bash Here”開啟Git,輸入程式碼:
git clone git@github.com:Chutj/Crop_Yield_Prediction_with_Machine_Learning.git
在這裡,clone
後的程式碼需要替換成大家自己上面複製的SSH即可。
隨後,就可以發現,前述操作中生成的README與License檔案都已經在本地資料夾中了。
2.3 程式碼上傳至GitHub
接下來,我們便可以進行程式碼版本管理與上傳。在本地資料夾中寫好程式碼,隨後在這一資料夾中右擊滑鼠開啟Git Bash:
以我的CropYield_DL_Old.py
檔案為例,輸入程式碼:
git add CropYield_DL_Old.py
隨後輸入:
git commit -m"Modify This File"
其中,引號中的內容為檔案修改備註,方便大家瞭解每一次檔案修改的詳細情況,具體內容可以自行修改。
可以看到,檔案修改的具體資訊已經被列在程式碼下方。
最後,輸入程式碼:
git push
即將我們剛剛修改的CropYield_DL_Old.py
檔案上傳至GitHub中。
至此,即完成了GitHub與Git的簡單操作。
上述內容和網際網路其他關於GitHub或Git的操作教程相比,確實十分粗略——由於我不是專業的程式設計師,因此上述未涉及Git的高階操作(例如版本回溯)等,大家可以參照其他更深入的教程加以進一步學習。