開始在 Windows 子系統 Linux 版上使用 Git

Git 是最常使用的版本控制系統。 您可以使用 Git 來追蹤您對檔案所做的變更,以記錄已完成的動作,並可在需要時還原為舊版的檔案。 Git 也可以簡化共同作業,讓多人所做的變更全部合併到一個來源中。

Git 可以安裝在 Windows 和 WSL 上

重要考慮:當您啟用 WSL 並安裝 Linux 發行版本時,會安裝與 Windows NTFS C:\ 分開的新檔案系統。電腦上的磁片磁碟機。 在 Linux 中,磁片磁碟機未提供字母。 系統會提供掛接點給他們。 /在 WSL 的情況下,檔案系統的根目錄是根磁碟分割或資料夾的掛接點。 並非所有 / 的專案都是相同的磁片磁碟機。 例如,在我的膝上型電腦上,我安裝了兩個版本的 Ubuntu (20.04 和 18.04) ,以及 Debian。 如果我開啟這些散發套件,請使用命令選取主目錄, cd ~ 然後輸入命令 explorer.exe . ,Windows 檔案總管將會開啟,並顯示該散發的目錄路徑。

Linux 發行版本 存取主資料夾的 Windows 路徑
Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
Debian \\wsl$\Debian\home\username
Windows PowerShell C:\Users\username

提示

如果您想要從 WSL 散發命令列存取 Windows 檔案目錄,而不是使用來 C:\Users\username 存取目錄, /mnt/c/Users/username 因為 Linux 發行版本會將您的 Windows 檔案系統視為載入的磁片磁碟機。

您將需要在您想要搭配使用的每個檔案系統上安裝 Git。

依發行版本顯示 Git 版本

安裝 Git

Git 已隨大部分的 Windows 子系統 Linux 版散發套件一起安裝,不過您可能會想要更新至最新版本。 您也必須設定您的 git 設定檔。

若要安裝 Git,請參閱 適用于 Linux 的 Git 下載 網站。 每個 Linux 發行版本都有自己的套件管理員和安裝命令。

針對 Ubuntu/Debian 中最新穩定的 Git 版本,請輸入下列命令:

sudo apt-get install git

注意

您也可能想要安裝 Windows 的 Git (如果尚未安裝)。

Git 設定檔設定

若要設定您的 Git 設定檔,請開啟您正在使用之散發套件的命令列,並使用下列命令來設定您的名稱 (使用您慣用的使用者名稱) 來取代「您的名稱」:

git config --global user.name "Your Name"

使用這個命令設定您的電子郵件, (youremail@domain.com 以您偏好) 的電子郵件取代 "":

git config --global user.email "youremail@domain.com"

提示

如果您還沒有 GitHub 帳戶,您可以在 GitHub 註冊一個帳戶。 如果您之前從未使用過 Git,GitHub 指南可以協助您開始使用。 如果您需要編輯 Git 設定,可以使用內建的文字編輯器,例如 nano: nano ~/.gitconfig

我們建議您 使用雙因素驗證來保護您的帳戶 (2FA)

Git 認證管理員設定

git 認證管理員 (GCM) Core可讓您驗證遠端 Git 伺服器,即使您有複雜的驗證模式(例如雙因素驗證)、Azure Active Directory,或是使用需要 ssh 金鑰密碼來進行每個 Git 推送的 ssh 遠端 url。 GCM Core 會整合到 GitHub 等服務的驗證流程,一旦您向主機服務提供者驗證之後,就會要求新的驗證權杖。 然後,它會將權杖安全地儲存在Windows 認證管理員中。 在第一次之後,您可以使用 Git 與您的主機服務提供者交談,而不需要重新驗證。 其只會在 Windows 認證管理員中存取權杖。

若要設定與 WSL 散發搭配使用的 GCM Core,請開啟您的散發套件,然後輸入下列命令:

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"

如果您想要使用 Azure Repos,需要進行一些額外的設定:

git config --global credential.https://dev.azure.com.useHttpPath true

現在,您在 WSL 發佈中執行的任何 git 作業都會使用 GCM 核心。 如果您已為主機快取了認證,則其會從認證管理員來存取認證。 如果沒有,則即使在 Linux 主控台中,也會收到對話回應要求您提供認證。

注意

如果您使用 GPG 金鑰進行程式碼簽署安全性,您可能需要將您的 GPG 金鑰與您的 GitHub 電子郵件建立關聯

新增 Git 略過檔案

建議您將 .gitignore 檔案新增至您的專案。 GitHub 提供一組有用的 .gitignore 範本,並根據您的使用案例來組織 .gitignore 檔案的建議。 例如,以下是Node.js 專案的 GitHub 預設 .gitignore 範本

如果您選擇使用 GitHub 網站來建立新的存放庫,則有一些核取方塊可用來初始化具有讀我檔案的存放庫,.gitignore 檔案會針對您的特定專案類型進行設定,以及視需要新增授權的選項。

Git 和 VS Code

Visual Studio Code 隨附 Git 的內建支援,包括 [原始檔控制] 索引標籤,其中會顯示您的變更,並為您處理各種 Git 命令。 深入瞭解VS Code 的 Git 支援

Git 行尾結束符號

如果您在 Windows、WSL 或容器之間使用相同的存放庫資料夾,請務必設定一致的行尾結束符號。

由於 Windows 和 Linux 使用不同的預設行尾結束符號,因此 Git 可能會報告大量修改過的檔案,這些檔案的行尾結束符號不會有任何差異。 若要避免發生這種情況,您可以使用檔案或在 .gitattributes Windows 端全域停用行尾轉換。 請參閱這 VS Code 檔,瞭解如何解決 Git 行結束問題

其他資源