淺談Git分佈式版本控制
Git 介紹
Git是一種分佈式版本控制系統,強大的地方在於可以靈活的分支跟合併功能,開發者的本地端及遠端都有一個完整的版本庫(Repository)。 可以回朔歷史或是在分支開發測試功能,在不污染主線 (1) 的同時測試功能。Git目前是最流行且強大的版本控制系統
-
主線 origin/main 通常指已上線版,當主線需要新增功能時,通常會先在支線測試,等確認沒問題才會部署至主線上
優點
- 分佈式架構:每個開發者的工作站上都有一個完整的版本庫,這使得開發者可以在離線或網絡連接不佳的情況下工作。
- 強大的分支和合併功能:Git 提供了一種簡單而強大的方式來創建和合併分支。這使得開發者可以在不同的分支上進行平行的開發工作,並輕鬆地將他們的更改合併到一起。
缺點
Warning
某些Git指令是能夠強制執行或覆蓋,可能會導致遠端的歷史被改寫 (1)
-
Danger
git push --force 是一個 Git 命令 用於強制將本地的更改推送到遠端倉庫 即使這會導致遠端倉庫的歷史被重寫
指令介紹
-
Note
Clone :將整個專案從遠端複製至本機 通常是第一次參與專案時才會使用
Pull :將專案最新的更改合併到本機端 (1)
Add :在本地端更改的檔案暫存後準備提交 (2)
Commit :將暫存的更改提交到本地端當前的分支 搭配 -m "輸入提交時顯示的訊息"
Push :將本地端推送到遠端
Merge :將兩個或多個分支合併-
Note
除了第一次使用Clone 後面都使用Pull 如果專案很大很肥的話用Clone效率不高
-
Note
git push 和 git push origin main 兩個命令的主要差別在於它們推送變更到的遠程分支。
git push:這個命令會將當前分支的變更推送到設定為跟蹤的遠程分支。如果當前分支沒有設定跟蹤的遠程分支,則會根據 Git 的 push.default 配置來決定要推送到哪個遠程分支。
git push origin main:這個命令會將變更推送到 origin 遠程的 main 分支,不論當前分支是什麼。origin 通常是你的遠程存儲庫的默認名稱,main 是一個常見的主分支名稱。
總的來說,如果你想要將變更推送到特定的遠程分支,你應該使用 git push <remote> <branch> 命令。如果你只是想要將變更推送到當前分支的跟蹤分支,你可以使用 git push 命令。
myenv) zoxul@zoxuldeMacBook-Pro markdown % git log
commit 0a0b87d92c149d444cf79be8664861083db29962 (HEAD -> user1_test, origin/user1_test)
Author: zoxulgit <zoxulyoshino@gmail.com>
Date: Mon Mar 25 14:58:22 2024 +0800
test1merge requesr
commit 18f3eda54696ca6ae1345434922bb4c56d2ccb3b (origin/main, main)
Author: zoxulgit <zoxulyoshino@gmail.com>
:
目前在
(myenv) zoxul@zoxuldeMacBook-Pro markdown % git branch
main
* user1_test
(myenv) zoxul@zoxuldeMacBook-Pro markdown %
查看當前分支名稱: git rev-parse --abbrev-ref HEAD
修改最近一次提交的內容(訊息)
test merge user1
