Featured image of post GIT學習筆記-從初始化到上傳至遠端數據庫

GIT學習筆記-從初始化到上傳至遠端數據庫

如何使用git基礎語法,從0到成功上傳到遠端數據庫(GITHUB)

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資料夾了。

接著到了

版控流程

  1. 開新資料夾,git init 建立數據庫
  2. 新增一個 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 是如何追蹤檔案變化的

  1. 當我們建立數據庫後,立即新增一個檔案時,用 git status 查詢,會發現它是在 Untracked 狀態。
  2. 這就表示此檔案還沒進到版本控制,藉由 git add . 將檔案加入到索引 (Staged) 後,準備提交成一個 commit 版本。
  3. 藉由 git commit -m <提交訊息> 後,該檔案就會開始被追蹤,檔案狀態就會變成 UnModified 狀態。

3
3

接著稍微練習一下,

新增兩個檔案,並查詢狀態,並用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來下載。

comments powered by Disqus