1. 程式人生 > >GitHub 實戰體驗學習

GitHub 實戰體驗學習

說在前面:GitHub作為原始碼管控方案的一種,他的實現機制和TFS或SVN之類有些區別:它屬於分散式的版本管控系統,以區別於TFS或SVN的集中式版本管理。我理解的集中式就好比多個終端要聯網到一臺中央伺服器,程式碼都從這裡取出和存回,需要保持時刻聯網操作,而分散式則是多個終端都同時存有一份完整的原生代碼庫,本地的編輯修改,提交,刪除都是在自己的本地操作,需要提交到GitHub倉庫時才連線一次網路即可。詳細可以百度 GitHub 分散式,瞭解詳細的理論基礎知識。

給一個出處連結:集中化的版本控制系統( Centralized Version Control Systems,簡稱 CVCS )應運而生。這類系統,諸如 CVS,Subversion 以及 Perforce 等,都有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都通過客戶端連到這臺伺服器,取出最新的檔案或者提交更新。

https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

實戰體驗路線一:

步驟1:註冊GitHub賬戶,網址為:https://github.com 需要郵箱驗證這些;

步驟2:建立倉庫Repository: 擁有GitHub賬戶後,找到網頁上一個綠綠的new repository 按鈕,點選建立,不明白之處可以預設;

步驟3:到https://git-scm.com/下載 Git工具

步驟4:建立一個SSH,作為體驗使用,建議也跟著做一下,非必須步驟。

什麼是SSH:https://help.github.com/articles/about-ssh/

這裡也摘抄說明下:Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username or password at each visit.

意思是說:使用SSH keys後,不用每次在連線GitHub時需要提供使用者名稱和密碼;

具體操作步驟:

1:開啟安裝好的git-bash工具,輸入:ssh-keygen -t rsa -C "[email protected]" 後面引號內容為github郵箱賬戶;

2:檢視當前的SSH檔案:ls -al ~/.ssh (儲存路徑預設為:C:\Users\系統使用者\.ssh)

3:把SSH key copy到剪下板中:clip < ~/.ssh/id_rsa.pub (檢視的命令為:cat ~/.ssh/id_rsa.pub) 或者直接用記事本開啟這個檔案。

步驟5:回到Github網站中設定SSH keys:

詳細看這裡:https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

快速介紹:點選賬戶,彈出選項框選擇Setting 或者直接輸入網址:https://github.com/settings/profile

驗證繫結是否成功:回到Git-bash中輸入:ssh -T [email protected] 回車 輸入yes

 

步驟6:Clone專案檔案:在GitHub網站個人賬戶下建立一個測試的倉庫 :複製連結地址:例如:https://github.com/BeyondYang789/demoProject.git

定位到本機要存放專案的路徑:$ cd /d/tfs/

$ git clone https://github.com/BeyondYang789/demoProject.git

步驟6:在上面的repo測試目錄中新建一個文字檔案file002.txt, 然後提交的GitHub 託管庫中

$  git add file002.txt

$ git commit -m 'file002 add from local'

此時Git 會提示你 ***please tell me who you are***

Run 

git config --global user.email "[email protected]"

git config --global user.name "Your name"

對照提示 $ git config user.email 和$ git config user.name 後回車

再次:$ git commit -m 'file002 add from local'

$ git push origin master

此時會彈出提示框輸入使用者和密碼,輸入錯誤會有提示:

成功後可以回到GitHub網站檢視結果。

注意:1:很容易把git commit 寫成 git submit;

2:有檔案的變更,沒有git add 和git commit 直接git push origin master 則會提示Everything up-to-date,從這點可以看出一點Git原理,檔案的狀態變化從"已變更"——>“已暫存”

實戰體驗路線二:

體驗路線一是先有GitHub託管庫,然後clone下載到本地的倉庫,再來看下本地先建好倉庫後提交GitHub託管的做法,原理是一樣的。

步驟1:在GitHub網站中新建一個倉庫:gitTestProject.git ;

步驟2:回到自己的電腦中新建一個資料夾gitTestProject,用於存放本地git倉庫,先放入一個readme.txt檔案,然後滑鼠右鍵,選擇git-bash 

步驟3:

$ git init;

$ git remote add origin https://github.com/BeyondYang789/gitTestProject.git

如果提示:fatal: remote origin already exists. 

則執行:git remote rm origin

$ git add . (有個點):他會監控工作區的狀態樹,使用它會把工作時的所有變化提交到暫存區,包括檔案內容修改(modified)以及新檔案(new),但不包括被刪除的檔案。

$ git commit -m 'first commit'

$ git push orgin master

此時回到GitHub網站,可以看到本地的.git庫已經被提交到GitHub對應倉庫中。

步驟4:嘗試新增或修改或刪除一些內容:

$ git status 檢視檔案有哪些變化:然後把發生變化的檔案新增到索引區git add,之後git commit提交本次修改,git push上傳到github。

這裡可以體驗下git add -i的用法:比如我們得到了下面一個檔案變化的列表:

上圖中 file0001.txt 被編輯且重新命名了,hellotext.txt被刪除,file001_add.txt為新增的檔案;

$ git add -i

同理可以輸入2 新增需要被update 到索引區的檔案;

完成後,輸入7 quit退出;

$ git commit -m 'commit for the second times'

$ git push origin master

git入門體驗就說完了!2018年9月30日23:25:01