參考資料:Git 教學- Git 書- 為你自己學Git | 高見龍
這應該是目前最完整的 Git 教學,講解的很詳細而且很有脈絡,從頭到尾看一遍的話可以對Git的各種指令有完整的了解。
這篇當作我的個人筆記用,所以就簡單的拆解步驟就好了,詳細原理的話歡迎參考上面那篇參考資料!
Table of Contents
1. 為甚麼要用 Git?
很簡單,因為潮。
開玩笑的,Git 是一個版本控管的工具,顧名思義,就是用來版本控管的。
那為甚麼要將我們的資料版本控管呢?
- 不用每次再另存新檔就能夠追溯到某個時間點的檔案狀態
- 多人協作時方便協作者共同協作專案
2. 使用 Git 前的前置作業
2.1 安裝 Git
到官網安裝 git,或是使用套件管理系統安裝。
2.2 檢查是否有安裝到 Git
打開終端機,輸入 git –version:
$ git --version
git version 2.26.2.windows.1
如果有出現下面那行 git version 就代表安裝成功了。
3. 將目標資料夾交給 Git 控管
3.1 打開目標資料夾 (希望版本控管的資料夾)
3.2 複製資料夾位置
3.3 打開終端機,進到該資料夾
$ cd /d/OneDrive/0前端筆記/git_test
3.4 初始化目標資料夾
$ git init
Initialized empty Git repository in D:/OneDrive/0前端筆記/git_test/.git/
如果有出現 Initialized empty Git repository …則代表初始化成功。
3.5 用 git add 將資料夾內的檔案放到暫存區
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
css/
index.html
nothing added to commit but untracked files present (use "git add" to track)
代表檔案都還沒 be tracked,所以用 git add –all 將這個資料夾內的所有檔案移至暫存區
$ git add --all
這時候我們再執行一次 git status
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: css/style.css
new file: index.html
會看到結果在這個資料夾內的所有檔案都被放到暫存區了
3.6 用 git commit 將暫存區的檔案移至儲存庫
$ git commit -m "first commit"
[master (root-commit) 813ad6b] first commit
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 css/style.css
create mode 100644 index.html
-m 後面接的字串代表這次 commit 的說明,注意:不能空白!
3.7 用 git log 查看 commit 記錄及詳細資訊
$ git log
commit 813ad6b930dcc5ad6c3b49c6b2b20f528aee0cb2 (HEAD -> master)
Author: jimmy2952 <[email protected]>
Date: Tue Jun 30 22:14:08 2020 +0800
first commit
可以看到最後一行的 “first commit” 就是剛剛 git commit -m 後面的字串。
4. 將本地資料夾 push 到 Github
4.1 登入 GitHub 帳號,新增一個 repository
4.2 複製該專案網址
4.3 在本地端利用終端機操作遠端,並新增節點
用 git remote 指令在遠端的專案新增一個叫做 origin 的節點
$ git remote add origin https://github.com/jimmy2952/git_test.git
4.4 將本地端的內容 push 到 GitHub 上
$ git push -u origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 286 bytes | 286.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/jimmy2952/git_test.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如此一來就完成版本控管的部份了!
如果覺得我的文章有幫助的話,歡迎幫我的粉專按讚哦~謝謝你!