跳至主要内容

[Git] Github

TL;DR

前面介紹的都是在本地端的操作,本篇要介紹的是遠端數據庫。我們可以把目前本地的Repo上傳到遠端(如Github,Bitbucket等服務),確保資料不會遺失。

info

Git跟Github是兩個不同的東西,許多人容易搞混。 我們是使用Git來做版本控制,並且使用Github的這個遠端數據庫服務,在雲端上儲存我們的專案。

參考資料

相關連結


建立遠端Repo

在Github上面找到+,接著使用New repository建立一個新的遠端數據庫

在Github上建立新的遠端數據庫

連結本地與遠端數據庫

在建立玩遠端Repo後,會出現以下頁面

建立遠端數據庫之後

上方代表的是,我們還沒有在本地端建立本地的數據庫,所以上方會從git init流程開始,完整建立一個全新的本地repo。

但是因為我們先前已經有建立好的數據庫了,所以我們採用的是第二個。

git remote add origin git@github.com:cieliscute/git-practice-github-.git
git branch -M main
git push -u origin main
  • git branch -M main代表將目前的分支名稱改為main,這是因為如果是較舊的git版本可能會將預設分支設定為master。現在統一都採用main當作預設分支名稱了。
  • git push -u origin main代表推送main分支的commit到origin這個遠端數據庫上。**-u代表如果之後只使用git push的時候預設就是採用這次的設定。

**

note

這邊可以在上方選取HTTPS或是SSH的方式來連結,在git remote add指令後方會有一點點不同

如果使用SSH有可能會要求一些權限等等。

接著重新整理Github遠端數據庫的網頁,就可以看到剛剛本地端的檔案已經有正確連結到剛剛在Github上所創建的遠端數據庫了。

重新整理頁面可以看到遠端數據庫已經存有剛剛本地端的資料了

移除本地與遠端數據庫的連結

在前面的步驟,我們在本地端的終端機上輸入 git remote add origin git@github.com:cieliscute/git-practice-github-.git

代表要在遠端數據庫上新增一個名叫origin的遠端數據庫簡稱。當然我們也可以不要用origin當作名稱,只需要將上方指令的origin給替換掉即可。

要觀看目前連結的遠端數據庫有哪些,我們可以使用以下指令:

git remote -v

就可以看到目前該專案連結的遠端數據庫的路徑

response
origin  https://github.com/cieliscute/RemoteRepoName (fetch)
origin https://github.com/cieliscute/RemoteRepoName (push)

那麼如果我們希望刪除該本地數據庫所連結的遠端數據庫,我們可以使用以下指令:

git remote rm <遠端數據庫簡稱>

以上述範例來說,我們就會輸入git remote rm origin

圖解遠端數據庫概念

假設一開始在本地repo提交數次commit(下圖範例為三次),GitHub上遠端數據庫目前沒有任何的資料,而本地端已經提交三次commit了

圖解commit

使用指令git push <遠端數據庫簡稱> main ,即可將本地數據庫推送到遠端(GitHub)數據庫上

圖解commit

note

在以前有可能會是git push <遠端數據庫簡稱> master,因為以前的預設分之名稱叫做master

現在在新建數據庫時,預設的分支會是main。(在連結本地與遠端數據庫時,也會預先執行一次git branch -M main來設定預設分支為main)

小結

  1. 如果你本地有一個數據庫,想加入遠端數據庫時,請用 git remote add <遠端數據庫簡稱> <url>
  2. 想刪除該本地數據庫的遠端數據庫設定,使用git remote rm <遠端數據庫簡稱>
  3. 你想將本地資料推送到遠端數據庫時:git push <遠端數據庫簡稱> <分支名稱>
  4. 將該次push參數設定為預設設定:git push -u <遠端數據庫簡稱> <分支名稱>,之後只要使用git push就會預設為執行git push <設定好的遠端數據庫簡稱> <設定好的分支>