圖文代碼並茂簡潔教學 Git 的基本使用

Roy Kwok
6 min readJan 15, 2022

--

你今天完成了第一個版本交給老闆,老闆提出要求修改,你完成了第二個版本。然後你老闆覺得還是第一個版本比較好。您會怎樣回到第一個版本?

最原始的做法:

目錄A 每完成一個版本複製多一個到目錄B給老闆看。

Git 是版本控制工具

  • Git 就是版本控制的工具,可以幫助到您回復版本一,或版本之間互相切換。

Git 基本設置

git config --global user.name your name //your name 您的名字 
git config --global user.email your email //your email 您的電郵
git config --global push.default simple
git config --global core.quotepath false git config --global core.editor "code --wait"
git config --global core.autocrlf input

Git 使用

必需使用的命令:

git init

  • 到你要提交版本的檔案目錄,執行 git init 初始化本地倉庫。
xxx@KwokdeiMac demo-2 % cd ~/Desktop/demo-2 //進入需要提交版本的目錄 xxx@KwokdeiMac demo-2 % git init //執行 Initialized empty Git repository in /Users/xxx/Desktop/demo-2/.git/ xxx@KwokdeiMac demo-2 % //顯示成功初始化本地倉庫xxx@KwokdeiMac demo-2 % git add index.html //連同需要提交的檔案執行

git add

  • 把目錄裡需要提交的檔案,輸入 git add,目的是標記檔案為需要提交到本地倉庫緩存區(to be committed)
xxx@KwokdeiMac demo-2 % git add index.html //連同需要提交的檔案執行

git commit -m

  • 提交及備註,備註需要引號。
xxx@KwokdeiMac demo-2 % git commit -m "版本1" //執行,備註需要引號 [master (root-commit) 7c47967] 版本1 //版本1就是輸入的備註,7c47967是git生成的版本號。 1 file changed, 1 insertion(+) //git add 提交裡有修改過的檔案數目 
create mode 100644 index.html //修改過的檔案名稱

git commit -v

  • 同樣是提交及備註,但執行此命令行會打開代碼編輯器,顯示檔案修改的詳情及可以詳細地輸入備註內容。輸入備註及關閉後就會成功提交,創建版本。

建議使用的原因, git commit-v 可以讓你重溫修改的部分及較詳細打入備註,個人或協作時更清楚此版本的修改內容。

輔助使用的命令:

git status -sb /git status

  • 執行 git status -sb 可以簡要地查看目錄裡的檔案提交版本狀態。
xxx@KwokdeiMac demo-2 % git status -sb //執行 
## master // 已有檔案 git commit (to committed)
A main.js // 已 git add 提交到緩存區
?? style.css // 未 git add 提交到緩存區
  • 執行 git status 可以詳細地看到目錄裡的檔案提交版本狀態。
xxx@KwokdeiMac demo-2 % git status//執行 On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) 
new file: main.js // main.js 已 git add 提交到緩存區
Untracked files:
(use "git add <file>..." to include in what will be committed)
style.css // 未 git add 提交到緩存區

.gitignore

  • 把不想提交的檔案記錄,記錄在 .gitignore 檔案裡。
  • 例如 Mac 的目錄隱藏檔案中經常帶有 .DS_Store ,如不想提交,就把目錄不想提交的檔案輸入在 .gitignore 檔案裡。
xxx@KwokdeiMac demo-2 % touch .gitignore //創建 .gitignore 檔案 xxx@KwokdeiMac demo-2 % git add .gitignore //提交到緩存區 xxx@KwokdeiMac demo-2 % open .ignore //打開 .gitignore 後,輸入不想提交的檔案,例如 style.css xxx@KwokdeiMac demo-2 % git commit -m "版本2" //提交版本,.gitignore 生效 xxx@KwokdeiMac demo-2 % git add style.css // 嘗試 git add 提交 style.css The following paths are ignored by one of your .gitignore files: style.css // 顯示 style.css 不會提交,因檔案列明在.gitignore裡。 hint: Use -f if you really want to add them. // 提示可使用 git add -f 強制提交 hint: Turn this message off by running hint: "git config advice.addIgnoredFile false" // git config 關閉 .gitignore 功能

Git 原理

  • 簡單瞭解檔案存入 repository(倉庫)的流程,Git 簡單來説分為三個區域:

1、工作區(working directory): 我們實際操作的資料夾(檔案)

2、暫緩區(stage snapshot): 將工作區檔案的快照新增到暫存區域

3、git 目錄(.git directory): 提交暫存區域的檔案快照永久地儲存在 Git 目錄

Git 實際保存的內容只是作出改變的內容,如沒有改變的內容不會儲存,所以不會造成版本修改過多,導到Git儲存的內容愈多的問題。

--

--