GIT學習筆記-從初始化到上傳至遠端數據庫
前言
在看工作的時候,發現很多公司都希望擁有git的經驗,雖然有過使用Github Desktop的經驗,但是還是想知道背後的原理,所以就開始上網查資料學習了。
可以參考這位六角學院的老師文章還有YT影片,實在是免費又大碗(淚。
安裝&測試
用終端機使用brew安裝git:
Install command:
brew install git
測試:
打開終端機,輸入 git --version
➜ ~ git --version
git version 2.34.1
就代表安裝成功了
Git基礎操作
首先這邊學習到終端機的使用,可以快速的移動到專案資料夾,
設定個人資訊
git config --global user.name "您的姓名"
git config --global user.email "您的Email"
查詢設定是否成功
git config --list
成功顯示之後按下q離開
新建數據庫(Repository)
在電腦新增資料夾後,透過cd前往,在執行git指令$ git init
,
$ git init
接著到資料夾,並顯示隱藏檔案,就會看到.git資料夾了。
接著到了
版控流程
- 開新資料夾,
git init
建立數據庫 - 新增一個
index.html
檔案
接著輸入git status
到這裡應該會出現:
可以看到終端機告訴我們;
➜ gitTest git:(master) git status
位於分支 master
尚無提交
未追蹤的檔案:
(使用 "git add <檔案>..." 以包含要提交的內容)
index.html
提交為空,但是存在尚未追蹤的檔案(使用 "git add" 建立追蹤)
意思就是偵測到了檔案,但是他不是git所追蹤的對象,那就照他所說的
將檔案加入到索引
git add <檔案名稱>
如果要將全部未追蹤加入索引的全部加入,
git add .
結果
➜ gitTest git:(master) ✗ git status
位於分支 master
尚無提交
要提交的變更:
(使用 "git rm --cached <檔案>..." 以取消暫存)
新檔案: index.html
可以看到從「未追蹤的檔案」變成「要提交的變更」(英文的話是Untracked files變成Changes to be committed)
填寫版本資訊
git commit -m "<填寫版本資訊>"
輸入git commit -m "新增網頁"
➜ gitTest git:(master) ✗ git commit -m "新增網頁"
[master (根提交) 03dcd4c] 新增網頁
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.html
再使用git status
查看
位於分支 master
沒有要提交的檔案,工作區為乾淨狀態
另外,也可以
退出索引
git reset HEAD
功能就是將加入索引的檔案還原到目錄。
(已經git add .
,但還沒git commit -m
)。
查詢歷史紀錄
git log
輸出:
commit 03dcd4c0bbd54f72a67aaaf74092eb454b981957 (HEAD -> master)
Author: a******3 <a*****3@gmail.com>
Date: Mon Jan 10 16:59:05 2022 +0800
新增網頁
(END)
一樣小寫q退出。
總結
目前實現了:
學習了:
Git 是如何追蹤檔案變化的
- 當我們建立數據庫後,立即新增一個檔案時,用
git status
查詢,會發現它是在Untracked
狀態。 - 這就表示此檔案還沒進到版本控制,藉由
git add .
將檔案加入到索引 (Staged) 後,準備提交成一個 commit 版本。 - 藉由
git commit -m <提交訊息>
後,該檔案就會開始被追蹤,檔案狀態就會變成UnModified
狀態。
接著稍微練習一下,
新增兩個檔案,並查詢狀態,並用git add .開起全部追蹤
➜ gitTest git:(master) ✗ git status
位於分支 master
未追蹤的檔案:
(使用 "git add <檔案>..." 以包含要提交的內容)
all.css
all.js
提交為空,但是存在尚未追蹤的檔案(使用 "git add" 建立追蹤)
➜ gitTest git:(master) ✗ git add *
➜ gitTest git:(master) ✗ git status
位於分支 master
要提交的變更:
(使用 "git restore --staged <檔案>..." 以取消暫存)
新檔案: all.css
新檔案: all.js
➜ gitTest git:(master) ✗ git commit -m "加入兩個檔案css&js"
[master ab3e252] 加入兩個檔案css&js
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 all.css
create mode 100644 all.js
➜ gitTest git:(master) git status
位於分支 master
沒有要提交的檔案,工作區為乾淨狀態
➜ gitTest git:(master)
Sourcetree
Sourcetree是一個介面圖形化的軟體,讓我們可以用點擊的方式來完成git指令。
可以在介面上看到有一個new repository點擊之後再按Add Existing Local Repository,打開已經建立好的數據庫。
選擇我們剛剛所建立的資料夾之後,就會看到上面畫面中多了一個數據庫可以選擇,點擊右鍵兩下,就可以看到數據庫的資訊了,如下圖:
當我們把程式進行改變、新增檔案可以看多了
Uncommitted changes的選項,也可以看到檔案路徑被改變、或是新增哪些程式碼的資訊
這時候,這些檔案的位置還在工作目錄,也就是尚加入索引Uncommitted
所以要透過git add .來加入索引,在sourcetree想要進行add操作來加入commit,只要將要加入索引的檔案打勾,在按下commit按鍵,就會跳到commit畫面。
接著在下面設定好我們要commit的名稱,並按下藍色commit
上面的操作即等於
git commit -m "新增h1標題更改路徑"
就成功了
新增遠端數據庫 repo
在github新增資料庫就像我們在github執行git init一樣,
所以到github new repository之後,可以看到github給了一些git指令
接著複製
git remote add origin https://github.com/yen0304/test.git
到終端機並執行後,雖然乍看之下沒有變化,但是到隱藏的資料夾後,打開config檔案,看到origin就代表成功了。
再來看到push的指令
git push -u origin
輸入帳號密碼就成功了,那我是使用SSH的方式, 可以按照這篇文章來設定公鑰來使用,這樣就不用輸入帳號密碼了!
-
he list of known hosts. 枚舉物件: 10, 完成. 物件計數中: 100% (10/10), 完成. 使用 8 個執行緒進行壓縮 壓縮物件中: 100% (6/6), 完成. 寫入物件中: 100% (10/10), 995 位元組 | 995.00 KiB/s, 完成. 總共 10 (差異 0),復用 0 (差異 0),重用包 0 To github.com:yen0304/test.git * [new branch] master -> master 分支 'master' 設定為追蹤來自 'origin' 的遠端分支 'master'。
接著回到github,就可以看到檔案完成上傳了!
那之後如果進行程式碼更改的時候,從Sourcetree可以看到
Master 還有 Origin/Master, 這兩者Master所代表的是本地端的commit,Origin/master則是遠端數據庫的commit。
到了這邊,就可以自行使用git來進行版本控制了, 接下來就要學會如何與團隊共同使用git。
GITHUB
如果需要文章中的檔案,可以到https://github.com/yen0304/test來下載。