Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
Visual Studio 2019 |Visual Studio 2022
您可以將變更上傳至其他人可以存取的遠端存放庫,以在本機 Git 存放庫 分支 上共用您的工作。 Git push 命令會將新的 提交 從本機分支上傳至遠端存放庫中的對應分支。 當您選擇將工作與遠端存放庫 同步處理 時,Visual Studio 會使用推送命令。
如需 Git 工作流程的概觀,請參閱 Azure Repos Git 教學課程。
先決條件
| 類別 |
需求 |
| 專案存取 |
專案的成員。 |
| 許可 |
- 檢視私人專案中的程式碼:至少具有 基本 存取權。 - 複製或貢獻於私人專案中的程式碼:貢獻者安全群組成員或專案中相應權限。 - 設定分支或儲存庫權限: 管理權限 是分支或儲存庫的權限。 - 更改預設分支: 編輯政策 是儲存庫的權限。 - 匯入存放庫: 專案系統管理員安全性 群組的成員或 Git 專案層級 建立存放庫 許可權設定為 [允許]。 如需詳細資訊,請參閱 設定 Git 存放庫許可權。 |
| Services |
已啟用 Repos。 |
| 工具 |
選擇性。 使用 az repos 指令:Azure DevOps CLI。 |
備註
在公用專案中,具有 專案關係人 存取權的使用者具有 Azure Repos 的完整存取權,包括檢視、複製和參與程式代碼。
| 類別 |
需求 |
| 專案存取 |
專案的成員。 |
| 許可 |
- 檢視程式碼 需要至少基本存取權限。 - 複製或參與程式碼: 參與者安全性群組 的成員或專案中的對應許可權。 |
| Services |
已啟用 Repos。 |
推送您的程式碼
將一或多個認可新增至本機 分支之後,您可以將認可「推送」至遠端分支,以共用或備份您的工作。 當您使用 push 命令時,Git 會檢查您的本機分支是否與遠端分支保持最新狀態。 如果沒有,Git 將阻止您推送新的提交,直到您更新本機分支為止。 若要解決此問題,您可以 提取 以取得本機分支中不存在的遠端分支認可。 如果提取的遠端提交與本機提交發生 衝突,請在推送變更之前嘗試處理這些衝突。
若要讓 Git push 命令運作,您的本機存放庫必須連線到遠端 Git 存放庫。 如果您從遠端存放庫複製本機存放庫,則它們已連線。 但是,如果您在沒有複製的情況下建立本機存放庫,則必須將它連線到託管的 Git 存放庫。 如需詳細資訊,請參閱 連線到 Azure Repos Git 存放庫 和 連線到 GitHub 存放庫。
小提示
為了支援您工作的< c0>拉取請求檢閱,請避免直接在您本機存放庫的分支中進行工作。 相反地,請將提交儲存至本地的功能分支或錯誤修正分支,並在完成工作後推送該分支。 如需 Git 工作流程的概觀,請參閱 Azure Repos Git 教學課程。
Visual Studio 2022 會使用 Git 功能表、 Git 變更,以及透過 方案總管中的操作功能表,提供 Git 版本控制體驗。 Visual Studio 2019 16.8 版也提供 小組總管 Git 使用者介面。 如需詳細資訊,請參閱 Visual Studio 2019 - 小組總管 索引標籤。
在 [Git 變更] 視窗中,選取向上鍵按鈕以推送您的認可。
或者,您可以從 Git 存放庫 視窗推送變更。 若要開啟 Git 存放庫 視窗,請在 Git 變更 視窗中選取傳出/傳入連結。
或者,您可以從功能表列上的 Git 功能表推送變更。
Visual Studio 2019 16.8 版和更新版本提供 Git 版本控制體驗,同時維護 小組總管 Git 使用者介面。 若要使用小組檔案總管,請從功能表列取消核取 [工具>] [選項>] [預覽功能>] [新的 Git 使用者體驗]。 您可以互換使用任一介面的 Git 功能。
在 小組總管中,選取 [ 首頁 ],然後選擇 [同步處理] 以開啟 同步處理。
您也可以在提交後立即選擇同步,從變更移至同步檢視。
在 Visual Studio 2019 中提交後出現的 [同步] 鏈結螢幕擷圖。
在 [同步] 檢視中,選擇 [推送] 以將您的提交上傳至遠端儲存庫。 如果這是您第一次推送至存放庫,您會看到訊息: The current branch does not track a remote branch...,讓您知道您的認可已推送至遠端存放庫上的新分支,而且從目前分支推送的未來認可將會上傳至該遠端分支。
雖然您很少需要將本機分支推送到不同名稱的遠端分支,但您可以使用未縮寫的 Git push 命令來執行此操作:
git push <remote repo> <local branch name>:<remote branch name>
若要將新提交從本機分支推送至同名遠端分支,請運行以下簡化的推送命令。 如果遠端存放庫沒有同名分支,此命令會建立一個與本機分支同名的新遠端分支,並且包含相同的提交。
git push <remote repo> <local branch name>
當您克隆遠端儲存庫時,Git 會將別名 origin 指派為您所克隆的遠端儲存庫的 URL 簡寫。 執行 git remote -v 命令以檢查 origin 別名值。 若要手動新增 origin 別名,請執行 git remote add origin <remote repo url>。 使用 origin 別名,您可以進一步簡化推送命令:
git push origin <local branch name>
若要將新的提交從目前的本機分支推送至同名的遠端分支,請執行以下簡化的推送命令。 如果遠端存放庫沒有同名分支,此命令將會失敗。
git push origin
如果你目前的本機分支追蹤的是origin的遠端分支,你可以簡化 push 指令:
git push
不過,如果您的本機分支未追蹤遠端分支,則使用簡寫的 push 命令將會失敗。 執行 git remote show origin 以檢查分支的追蹤狀態。 若要推送 並 將您目前的本機分支設為追蹤 origin 上的同名遠端分支,請執行一次 git push --set-upstream origin <local branch name>。
--set-upstream如果旗標不存在,則會建立同名的遠端分支。
在處理本地功能(或錯誤修正)分支時,通常會用main分支的最新變更定期更新自己的分支。 根據您執行這個操作的方式,功能分支的本地和遠程提交記錄可能會產生分歧,以至於 Git push 指令會返回錯誤。 如果您是唯一推送到遠端功能分支的人,而且您確定您的本地功能分支包含您需要的所有工作內容,您可以使用 Git push 命令搭配 --force 選項,將遠端功能分支上的所有提交替換為本地功能分支的提交。 如需 Git 推送命令的詳細資訊,包括其他 force 選項,請參閱 Git 參考手冊。
完成推送提交後,您可以建立 拉取請求,讓其他人檢閱您的變更。 如果獲得核准,您的變更將會合併到遠端存放庫的目標分支中。
後續步驟
相關文章