手把手帶你入門github
- 2019 年 10 月 7 日
- 筆記
程式設計師必備的版本控制學習,入門看這一篇穩穩的。有對.NetCore感興趣的可以考慮後期更新一波。 十三
前言
github是一個面向開源及私有軟體項目的託管平台,什麼叫面向開源呢?說白了就是把程式碼共享,微軟以前並不秉持著開源的態度,企圖以windows佔有率坐擁江山,可惜開源共享的大勢誰都不能阻擋,哪怕是微軟帝國。這不,斥資把這個國際知名程式碼託管平台github給收購了。
那有的同學會說,它有什麼用啊,我也不需要把我的程式碼託管給保管呀。github除了叫程式碼託管平台,還有一個名字叫版本控制系統(類似的版本控制系統還有TFS、SVN等)。所謂版本控制,就是說一個成品東西有多個版本,比如寫小說時,寫到某一章,會有多稿,在你發布之前這些稿都可能用到。而程式碼也是一樣,在項目開發過程中,項目程式碼會有多個歷史版本,開發人員可以回到任意版本(過去的節點)。比如開發人員小明,今天下班前提交了一下程式碼,第二天電腦硬碟被燒,數據全部丟失,那他就可以去伺服器上找到歷史最近提交的一次版本,並將程式碼拷貝下來。
本地程式碼備份到github倉庫
好了,前面說的,假如公司項目程式碼就放在一台電腦上,哪天這台電腦嗝屁了,那就gg了。當然你可以把它再拷貝幾份到其他電腦上,但是拷貝來拷貝去,一改動都要拷貝不是很麻煩嗎?而且你也不能保證萬一哪天都嗝屁了呢(#^.^#)。所以一般公司都有自己的伺服器,項目一般是建在伺服器上。我是平常自己玩,把程式碼放在伺服器(我用的是http://github.com)上,這樣子,在家,在公司都能隨時更改程式碼並提交到github上,是不是很方便呢?
首先你得有一個github的帳號,去github的官網:https://github.com/

到sign up 上面按步驟將你的昵稱、郵箱、密碼填上,並註冊,之後登陸。
之後新建一個倉庫(git的倉庫就相當於你一個項目的儲存空間)。如下圖所示

進入你的倉庫
點擊綠色new按鈕


建完之後如下圖所示,裡面什麼都沒有,是空的。下面有提示讓我們create一些什麼東西

註:到此為止,你相當於在遠程伺服器(這裡是github)上面建了一個倉庫(一個程式碼項目對應著一個倉庫),之後需要我們把我們本地的程式碼和東西上傳到github上對應的倉庫上備份一份
現在,就需要去安裝git工具啦
打開git的下載地址:https://git-scm.com/

點擊這裡下載,它會自動檢測你的系統環境
安裝完之後檢測一下安裝情況 —cmd命令行(我這裡只講windows環境,其他環境大同小異)———–win+r 回車

輸入git –version (git的版本)
這個工具的命令都是以git開頭,就像dotnet core 一樣,所有命令以dotnet開頭

ok,現在在你的電腦上git工具已經安裝好了,(這一步相當於在本地安裝了他git的應用,這個應用是我們用來連接伺服器(github)的橋樑)
下面開始演示如何將項目上傳到我們之前在github上建的倉庫
首先進入你項目所在文件夾的根目錄,右鍵 git bash here

進入到git的介面

在其他類似有命令行的地方也可以使用,比如vs code的終端,vs 的nuget 輸出窗口,都是可以使用命令的
首先,我們需要初始化一下本地倉庫,輸入命令 git init

這條命令是把你本地的倉庫給建立起來了,就是把你的項目文件給個他git的倉庫標識一下,實際上就是在你的目錄下建立了一個.git的文件 (沒有找到的同學可以去把隱藏文件給打開)

第二步:將本地倉庫和遠程倉庫對應起來
命令:git remote add origin huguangcheng/git-
git remote add 遠程倉庫名(可以自己定義,默認是origin,初學不要亂改,以免混淆) 遠程倉庫地址(在這裡我填的是我之前建的倉庫的地址)
遠程倉庫的地址,我們回到github的官網,到你的倉庫里新建的倉庫去:

把這個地址複製,就是你遠程倉庫的地址
命令回車之後,git就知道你本地這個項目倉庫對應的就是github上的那個倉庫了
第三步:上傳項目或者程式碼到遠程倉庫
上傳到伺服器需要三步曲:
git add . ————-添加所有的文件到快取區
git commit -m "備註" ————將快取區的所有改動都給提交到本地倉庫管理中心去

3.git push -u origin master ———-將本地所有改動提交都推送到遠程倉庫
master是github遠程倉庫分支(master是默認的主幹,自己就是一條分支)
輸入命令回車:

接著我們去我們的github上看看有沒有東西:

這顯示的是有的,至此我們的項目文件備份就算成功啦~就算電腦哪一天炸了我也能找回我的項目啦~
那備份有了,萬一小編不小心,把公司伺服器上的項目給弄炸了,該怎麼找回來呢?
本地程式碼備份到github倉庫
從遠程倉庫上拉取項目:
命令:git clone 遠程倉庫地址
我在本地一個文件夾git bash here

到下面這個位置點擊按鈕,複製地址(是https)

輸入命令:git clone 遠程倉庫地址(這一個步驟其實已經將本地倉庫和遠程倉庫對應起來了,後邊不必再git remote 了)


東西也找回來了~
綜合運用場景:
小編有一個自己學習的小項目,但是小編在家裡寫了,在公司沒事也想敲一敲,學習學習,總不能複製一份到u盤吧,回去之後再賦值粘貼?
我們接著上一章講,假若小編已經在公司把文件上傳到github上了,回到家並且clone下來了,如前面所講。現在小編寫了西遊記第二章。

然後晚上睡覺的時候我需要把東西上傳到github上,以備在公司繼續用
我們先看下此時有什麼變動(有時候你可能改動比較多,比如.net項目,一個vs 的解決方案你改動幾個地方可能有很多地方或者文件重新生成了)
git status

可以看到,他說我沒有倉庫
我們進入到下一級
cd git-
再git status

這裡我們看到有紅色的 改動
我們再重複三部曲 add commit push

我們再回到github刷新一下就看到

好了,第二天去公司,沒事又能刷刷西遊記了。嘿嘿。
有問題需要交流的同學可以聯繫我:
微信公眾號:與大成子一起學net
github:https://github.com/huguangcheng