Git 課程學習筆記-ep2
馬上來到第二堂課拉XD,主要說 github 遠端操作。
遠端資料庫是你的或者是其它電腦上的 repository 的副本 ; 可以透過網路傳送你的 commit 至其它的電腦。
遠端資料庫是用來備份的,讓本地端可以回復文件到之前的狀態 。
連結 github 遠端資料庫 remote repository 有兩種方式:
1. 先建立好本地端資料庫 -> 建立遠端資料庫 -> 最後再做連結
2.直接在 github 建立遠端資料庫 -> git clone下來
下面介紹一下遠端資料庫操作
註冊:從遠端數據庫連結會有幾行 code
git remote add origin https://.....
解析上面字彙🥳🥳:
git remote add:增加遠端數據庫
origin:這個數據庫在本地數據庫的代號名稱(可自訂)大部分人會把他們的 remote 命名為 origin
,因為當你使用 git clone
時,git 會自動把你的 remote 命名為 origin
。
更新到遠端 master 分支
git push -u origin master
master 就是要推 origin 的哪個分支 → master
- -u 是因為如果有很多遠端數據庫,一段時間內預設推固定一個,之後只要 git push 即可!!
- 如果寫 git push origin dev,順便就新建一個 dev 分支
如果有很多遠端數據庫可以使用:查詢
git remote
如果要包含網址
git remote -v
抓取資料
大家一般想看別人在 github 的程式碼,會使用 git clone 抓下來 ; 另外在專案一開始也使用 git clone 抓。
但 git clone 和 git pull 差異是什麼呢?
git clone :主要是下載整個遠端資料庫,只需執行一次。
git pull :更新遠端資料庫資料皆使用此指令。
共同編輯
意思是把別人加入到你的 github 的 repo 中,時常在
步驟如下:
在 git hub setting → manage access → 輸入密碼 → invited a collaborator → 輸入對方信箱 → 對方信箱會收到邀請信件。
之後對方只要在他的本地端使用 git clone 網址,就可以開始合作拉🧐
觀看遠端數據庫列表(包含 rul):git remote -v
注意這是要信任對方,不然設定共同編輯,他可以給你亂搞喔🤪🤪!!
HEAD
我們首先看一下 “HEAD”,HEAD 是一個 reference,它是指向目前所 checkout 的 commit,基本上,其實就是你目前所在的 commit。
在 commit tree 中,HEAD 總是指向最近的一次commit。大部份 git 的指令如果要修改 commit tree 的狀態的話,都會先改變 HEAD 所指向的 commit。
移動 HEAD 位置
最一開始 head 會跟著 master,但是當我們要時光回朔到以前的紀錄點,就要使用:
git checkout sha-1值
sha-1 值可以使用 git log 查詢看看結果:
git log
git log 中 sha-1 值,只要複製前面幾碼就好🥴。
如果回到舊版本看完資料後,想回到新版本,就直接:
git checkout master (或其他分支名稱)
相對位置移動法
只使用sha-1值其實不方便,因為每次都要查詢,如果只是回到前幾次,就使用相對位置來移動即可
git checkout HEAD^ // ^數量代表往回幾步
“~” 符號
假設需要在 commit tree 中向上移動多個 commit。使用太多 ^
會非常討人厭🤯🤯🤯,所以 Git 也加入了波浪 ~ 符號。
git checkout HEAD~1
波浪符號後面可以選擇一個數字(你也可以不選擇),該數字是告訴 Git 要向回移動多少個 commit 。
注意!!當要回到 master 時,要使用:
如果直接使用 master 所在位置編號,會導致需要 commit 時,master 會停留在原版本而不會自動跟上。
未完待續