在 Visual Studio for Mac 中使用 Git。

重要

根據 Microsoft 的新式生命週期原則,Visual Studio for Mac 計畫於 2024 年 8 月 31 日停用。 雖然您可以繼續使用 Visual Studio for Mac,但 Mac 上的開發人員還有幾個其他選項,例如用於 VS Code 的新 C # 開發套件延伸模組之預覽版本。

深入了解支援時間表和備選方案

Git 是一種分散式版本控制系統,可讓小組同時處理相同的文件。 這表示有中央伺服器包含所有檔案,但從這個中央來源簽出存放庫時,會將整個存放庫複製至本機電腦。

下列各節將探討如何在 Visual Studio for Mac 中使用 Git 進行版本控制。

Git 版本控制功能表

下圖說明 Visual Studio for Mac 透過 Git 功能表所提供的選項:

Screenshot of the Git menu in Visual Studio for Mac, showing options for Clone Repository, Pull, Commit or Stash, Push, Switch to branch, Merge, Rebase, Manage branches and remotes, Stash, pop stash, manage stashes, and branch history.

在 Visual Studio for Mac 中建立 Git 認可

修改檔案並認可這些檔案中的變更,是任何 Git 工作流程的核心部分。 雖然本文參考 GitHub 存放庫,但您可以從遠端與您選擇的 Git 提供者合作,例如 GitHub 或 Azure DevOps。 或者,您可以在完全不透過任何提供者的情況下在本機工作。

Git 會在您工作時追蹤存放庫中的檔案變更,並將存放庫中的檔案分成三個類別。 這些變更相當於您在命令列中輸入 git status 命令時所看到的內容:

  • 未修改的檔案:這些檔案自上次認可後未變更。
  • 已修改的檔案:這些檔案自您上次認可後已變更,但您尚未暫存它們進行下一個認可。
  • 暫存的檔案:這些檔案包含將新增至下一個認可的變更。

當您執行工作時,Visual Studio for Mac 會在 [Git 變更] 視窗的 [變更] 區段中,追蹤專案的檔案變更。

Screenshot of the Git Changes window in Visual Studio for Mac, with a launchSettings.json file displayed in the list of Staged files.

若您要在就緒時暫存變更,請選取您要暫存的每個檔案,然後按一下 [階段] 按鈕,或以滑鼠右鍵按一下檔案,然後選取 [階段]

當您暫存變更時,Visual Studio 會建立 [暫存變更] 區段。 只有 [暫存變更] 區段中的變更會新增至下一個認可,您可以選取 [認可暫存] 來執行此動作。 此動作的對等命令為 git commit -m "Your commit message"

Screenshot of the Git changes dialog, with a launchSettings.json file in the list of Changes, and a SubscriptionService.cs file in the list of staged changes. The current branch name is shown at the top of the window, along with Push, Pull, and Commit Staged buttons.

選取所有暫存變更,然後按一下 [取消暫存] 按鈕,也可以將變更取消暫存。 此動作的對等命令為 git reset <file_path> (取消暫存單一檔案),或 git reset <directory_path> (取消暫存目錄中的所有檔案)。

您也可以略過暫存區域,選擇不要暫存修改過的檔案。 在此情況下,Visual Studio 可讓您直接認可變更,而不需要暫存變更。 只要輸入您的認可訊息,然後選取 [全部認可]。 此動作的對等命令為 git commit -a

Visual Studio 也可讓您使用 [...] 底下的 [全部認可並推送] 和 [認可並同步處理] 捷徑,輕鬆地按一下即可認可及同步處理。 當您按兩下 [變更] 和 [暫存變更] 區段中的任何檔案時,可以看到與未修改的檔案版本逐行比較。

A screenshot of the comparison view, showing line-by-line differences in changed files.

推送和提取變更

推送和提取是 Git 內的兩個最常用動作。 若要同步處理其他人已對遠端存放庫進行的變更,您必須從該處提取。 您可在 Visual Studio for Mac 中選取 [Git 及提取] 功能表來完成這個作業。

在您更新、檢閱並認可檔案之後,接著必須將它們推送到遠端存放庫,讓其他人可以存取您的變更。 您可在 Visual Studio for Mac 中選取 [Git 及推送] 功能表來完成這個作業。

您也可以透過 [Git 變更] 視窗,同時認可並推送您的變更:

Screenshot of the git Changes window open, showing a ... menu open with a Commit Staged and Push item highlighted.

使用 [改動者]、[記錄] 和 [合併]

在編輯器視窗頂端,有一個具有版本控制選項的下拉式清單,如下所示:

Screenshot of a drop down menu with choices for Source, Changes, Blame, and History.

這些允許下列動作:

  • 來源 - 顯示原始程式碼檔。
  • 變更 - 顯示您的本機檔案與基底檔案之間的程式碼變更。 您也可以比較不同雜湊中檔案的不同版本:
  • 改動者 - 顯示與每個程式碼區段建立關聯之使用者的使用者名稱。
  • 記錄 - 顯示所有認可、時間、日期、訊息,以及負責檔案的使用者:
  • 合併 - 如果您在認可工作時發生合併衝突,則可以使用此項目。 它會以視覺方式呈現您和其他開發人員所做的變更,讓您可以完全合併這兩個程式碼區段。

切換分支

根據預設,存放庫中所建立的第一個分支稱為主要分支。 就技術上而言,主要分支與任何其他分支沒有任何差別,但主要分支是開發小組最常視為 'live' 或 'production' 分支的分支。

將主要分支進行分支,即可建立獨立開發生產線 (在該情況下,為任何其他分支)。 這提供某個時間點的新版主要分支,允許與 'live' 分支獨立進行開發。 以這種方式使用分支,通常用於軟體開發中的功能

使用者可以針對每個存放庫建立所需數目的分支,但建議在完成分支的使用之後,將它刪除,以保持存放庫的組織性。

瀏覽至 [Git] > [管理分支和遠端],以在 Visual Studio for Mac 中檢視分支:

A screenshot of the Manage Branches and Remotes view, with a location branch selected.

切換至另一個分支,方法是在清單中選取它,並按 [切換至分支] 按鈕。

若要建立新的分支,請選取 [Git 存放庫組態] 對話方塊中的 [新增] 按鈕。 輸入新的分支名稱:

A screenshot of the create new branch dialog, showing a blank name field and a message listing out allowed characters for the branch name.

您也可以將遠端分支設定為 tracking 分支。 請深入閱讀 Git 文件,以了解如何追蹤分支。

查看專案名稱旁 [解決方案] 視窗中的目前分支:

A screenshot of the solution window showing a solution named NetPodcast.Services with a branch name of main in parentheses.

另請參閱