Git 是什麼
簡單來說就是版本控制的軟體,讓我們在多人協作、檔案很多、長時間更動上可以方便清楚地做版本控制。
怎麼使用
直接去官網下載即可。
基本指令
git init:初始化 repo
git status:查詢當前檔案狀態
git add:決定是否把檔案加入版本控制
untracked 沒加入版本控制
staged 已加入版本控制
git commit:新建一個版本(把狀態在 staged 的檔案新建一個版本)/ git commit -m "新建版本名稱" → 新建版本
git commit -am "新建版本名稱" 直接 add + commit 一起做
git log:查看操作的 git 歷史紀錄
.gitignore:版本控制裡不想被看見的檔案
git branch:查看此版本控制內的分支 / git branch 分支名稱 → 新建分支
git checkout:切換分支 / git checkout 欲切換分支名稱 → 切換到該分支
git diff:在 commit(建立一個新版本)前可以看更改了什麼
git merge:這部分我都直接在 github 上操作,實際沒用下指令使用過
pull request:有分支想合併到 master 時發出的請求
git push:將 commit 完版本從本地端推至遠端
git pull:將遠端版本拉至本地端
git clone:將遠端 repo 下載到本地端(但仍是別人的 repo)
fork:將別人的 repo 複製到自己遠端 repo
git hook:目前理解是自動化腳本,許多重複動作寫在這個 hook 裡省去重複動作時間。
運作方式
- 當我們開一個資料夾時,就可以視為一個 repo(repository,可以解釋為倉庫、版本庫、程式庫),所以所有在這個 repo 裡的檔案都會加入版本控制。不想加入版本控制的話就不要加入這個資料夾(repo)就好了。
- Git 版本控制方式會用看似亂數的英數字組合當作版本名稱,主要目的是避免版本號衝突。
- 遇到版本衝突(兩個人同時更改同樣檔案)時,手動解決。
- 怎麼與他人一起使用我的 repo → 放在 github 上(github 是放 git repo 的地方,不一定要用 github,只要是可以放 git repo 的 server 都可以使用)github 也可以說是 git 的圖形化介面
分支(branch)存在的意義
可以平行開發,讓版本不互相衝突
注意事項
開新 branch 時,記得先切回 master(git checkout master)在開新分支,不要在原本的分支再開一個分支,這樣檔案會混亂掉。