Git Push Origin 和 Git Push Origin Master 的區別
1. 理解 git push origin
git push origin 是用於將更改從本地倉庫推送到稱為origin 的遠端倉庫的一般命令。但是,如果您沒有指定分支,Git 將推送當前分支(您當前正在工作的分支)到遠端倉庫上的相應分支。
用例
如果您處於master 或main以外的任何分支,並且希望推送到遠端倉庫,那麼git push origin 將更新該分支,前提是該分支存在於遠端倉庫中。
語法
git push origin
2. 理解 git push origin master
總的來說,這就是git push origin master 命令更加具體的地方。在這裡,您不僅指定希望將推送操作專門執行到本地master 分支以及origin 遠端倉庫。無論您當前在本地環境中處於哪個分支,此命令都將依次推送到遠端倉庫的master 分支。
用例
- 當您希望直接提交到主分支(master)時,此命令非常有用。
- 當您是專案中唯一的開發人員並且master 是您的主要開發分支時,最常使用此命令。
語法
git push origin master
git push origin 和 git push origin master 的主要區別
下表比較並對比了“git push origin”和“git push origin master”的功能 -
命令 | 功能 | 常見用例 |
git push origin | 將當前簽出的分支推送到對應的遠端分支。 | 當您想要將任何分支的更改推送到遠端時很有用。 |
git push origin master | 將更改專門推送到origin 遠端倉庫的master 分支,而不管簽出的分支是什麼。 | 通常用於更新單人專案中的主分支或在 master 分支上進行直接開發。 |
使用 git push origin 和 git push origin master 的最佳實踐
瞭解git push origin 和git push origin master 之間的區別對於團隊合作和 Git 版本控制至關重要。這些命令如果使用不當,可能會更改主分支上的功能,將不完整的功能推送到錯誤的分支,從而破壞團隊的工作流程。
1. 使用分支進行功能開發
對於處理某個功能,請建立功能分支(此處為 feature-branch),而不是直接推送到 master。要僅將更改推送到遠端的功能分支,請使用 git push origin feature-branch。
2. 謹慎推送到 master
在協作環境中,通常不鼓勵這樣做,也不建議直接推送到master。對於程式碼審查和協作,請使用拉取請求 (PR) 或合併請求 (MR)。
3. 設定分支保護
為了防止其他人意外地推送到master,許多團隊會為推送保護建立分支規則。它保證其他團隊成員將審查並批准您在主分支上所做的每個更改。
4. 將 git push origin 用於預設分支
如果您是單獨工作或進行小型專案,git push origin 可能就足夠了。但請始終確保在推送之前位於正確的分支上。
5. 使用 git branch 驗證當前分支
您可以透過執行 git branch始終檢視您當前所在的哪個分支。此步驟可以避免意外推送到錯誤的分支。
說明差異的示例
假設您正在處理兩個分支:master 和 feature-login。以下是每個命令的行為方式
在 master 分支上
- git push origin 將 master 中的更改推送到origin/master。
- 由於您已經在 master 上,git push origin master 將執行相同的操作。
在 feature-login 分支上
- 第一部分(沒有前導連字元)將 feature-login 中的更改推送到 origin/feature-login。
- 執行此操作的命令是git push origin master,它將忽略feature-login中的更改,並將本地master分支中的更改推送到 origin/master。
關於 Git Push Origin 和 Git Push Origin Master 的常見問題
問:如果我意外推送到錯誤的分支怎麼辦?如果意外將更改推送到錯誤的分支,您可以透過重置分支來將其刪除。也就是說,這並不容易;尤其是在您與其他開發團隊共享工件倉庫時,因此請謹慎操作,並在必要時聯絡您的團隊尋求幫助。
問:我可以覆蓋預設的 git push 行為嗎?
不用擔心:您可以使用push.default 設定為simple、matching、current 或upstream 來更改預設行為。要設定此項,請執行
git config --global push.default simple
對於初學者,通常建議使用簡單的設定,這樣我們就不會意外地將某些內容推送到意外的分支。
問:為什麼我們使用 origin 而不是 master?
遠端倉庫 URL 儲存在別名 origin 中。 主分支是:master(或許多倉庫中的 main),其中儲存著穩定的程式碼。
最後的想法
git push origin 命令功能強大,但有所不同。通過了解它們之間的差異,您可以更好地管理您的 Git 工作流程,避免意外推送,並更好地進行程式碼協作。透過這些最佳實踐,您可以保證一個有組織的、受保護的程式碼,隨時準備進行開發。Git 使用的快速技巧
在執行push 命令之前,請使用git branch檢視您當前所在的哪個分支。一個簡單的步驟,可以避免您意外簽入master 或其他分支。推薦的 Git 工作流程工具
- GitKraken:一個視覺化 Git 客戶端,旨在簡化分支管理和 Git 操作。
- SourceTree:一個易於分支、合併和推送的圖形介面免費 Git GUI。
- GitLens:一個 VSCode Git 擴充套件,它可以顯示程式碼的作者歷史記錄並可視化程式碼更改(kb)。
有了這些指南和提供的工具,您將擁有一個簡化的方式來對任何專案的 Git 操作進行擴充套件。