登入GitHub,在右上角建立新的儲存庫。
輸入名稱,綠色勾勾表示沒有重複,可以使用。
再按下綠色按鈕建立。
建立完成,會進入此畫面。
這時,GitHub會給提示:
…or create a new repository on the command line
建立一個新的儲存庫,再上傳。
…or push an existing repository from the command line
直接上傳現有的儲存庫。
我們選擇要上傳現有的儲存庫。
指令「git remote add origin https: //github.com/s164975/ngapp.git」
這段指令的意思是,將遠端儲存庫的網址「https: //github.com/s164975/ngapp.git」, 加到origin。
所以,origin代表遠端儲存庫的網址。
origin只是預設的名稱,可以改成其他名稱,但建議維持預設。
因為我之前已經做過了,所以git會顯示警告訊息「fatal: remote origin already exists.」,表示路徑已存在。
使用git remote -v查看origin所指向的網址。
網址有兩種:
fetch:從遠端儲存庫下載有哪些更新。
push:將本地端的新版本上傳至遠端。
將檔案上傳至遠端儲存庫。
指令「git push -u origin master」。
-u 是--set-upstream的簡寫。
在第一次上傳時,要設定上游的遠端分支,不然本地位置會無法與遠端位置建立連結。
這段指令的意思是,將本地的master分支,上傳至origin所指向的網址。
上傳成功後,有幾則比較重要的訊息:
[new branch] master -> master,
在遠端資料庫也建立了一條名為master的分支。
Branch 'master' set up to track remote branch 'master' from 'origin'.,
我們的master分支設置為追蹤origin/master的分支。
origin/master代表的是,遠端儲存庫的master分支。
上傳成功後,進入GitHub儲存庫查看。
commit紀錄成功上傳。
但只有master分支。
所以剛剛的push,只上傳master分支而已。
目前本地端有3條分支。
在分支後面加上-r,可以列出遠端追蹤分支。
透過我們剛剛第一次push時,設定的-u參數,讓遠端的origin/master分支,跟本地端的master分支有所連結。
連結在一起,有什麼用呢?
接著,我們在master分支commit一個新增檔案的版本。
目前,master分支是最新版。
在push之前,遠端的origin/master分支肯定是不會有這個版本。
之後每次push,我們只要打「git push」。
因為已經設定-u的關係,git會自動將master分支上傳至遠端的origin/master。
指令「git branch -a」,可以查看所有本地與遠端的分支。
或許你會有疑問,為何不一次將所有的分支上傳?
因為某些分支只是小測試,或是不穩定的版本,並不希望上傳至共用的儲存庫。
假設我們要上傳feature分支。
一樣執行指令「git push -u origin feature」。
訊息顯示,遠端新建了一個feature分支,並且跟本地端的feature分支有所連結。
執行「git branch -a」。
多了一條遠端的feature分支。
線圖。
遠端儲存庫。