筆記本的 Git 版本控制(舊版)
重要
舊版筆記本 Git 整合支援已於 2024 年 1 月 31 日移除。 Databricks 建議您使用 Databricks Git 資料夾來同步處理 Databricks 中的工作與遠端 Git 存放庫。
本文說明如何設定筆記本的 Git 版本控制(舊版功能)。 您也可以使用 Databricks CLI 或 工作區 API 來匯入和匯出筆記本,並在本機開發環境中執行 Git 作業。
啟用和停用 Git 版本控制
預設會啟用版本控制。 若要切換此設定:
- 移至 [ 設定>工作區設定]。
- 在 [進階] 區段中,取消選取 Notebook Git 版本設定切換。
設定版本控制
若要設定版本控制,請在 Git 提供者中建立存取認證,然後將這些認證新增至 Azure Databricks。
使用筆記本版本
您可以在歷程記錄面板中使用筆記本版本。 按下 右側提要欄位,以開啟歷程記錄面板。
注意
當歷程記錄面板開啟時,您無法修改筆記本。
將筆記本連結至 GitHub
按下 右側提要欄位。 Git 狀態列會顯示 Git:未連結。
按兩下 [Git:未連結]。
[Git 喜好設定] 對話框隨即出現。 第一次開啟筆記本時,狀態為 [取消連結],因為筆記本不在 GitHub 中。
在 [狀態] 欄位中,按兩下 [ 連結]。
在 [鏈接] 欄位中,貼上 GitHub 存放庫的 URL。
按兩下 [ 分支 ] 下拉式清單,然後選取分支或輸入新分支的名稱。
在 [Git 資料夾的路徑] 字段中,指定要儲存盤案的存放庫中的位置。
Python 筆記本具有建議的預設擴展名
.py
。 如果您使用.ipynb
,您的筆記本會以 iPython 筆記本格式儲存。 如果檔案已存在於 GitHub 上,您可以直接複製並貼上檔案的 URL。按兩下 [ 儲存 ] 以完成連結筆記本。 如果此檔案先前不存在,出現 [將此檔案儲存至 GitHub 存放庫] 選項的提示。
輸入訊息,然後按兩下 [ 儲存]。
將筆記本儲存至 GitHub
雖然您對筆記本所做的變更會自動儲存至 Azure Databricks 版本歷程記錄,但變更不會自動保存到 GitHub。
按下 右側提要欄位以開啟歷程記錄面板。
按兩下 [ 立即 儲存] 將您的筆記本儲存至 GitHub。 [儲存筆記本版本] 對話框隨即出現。
或者,輸入訊息來描述您的變更。
請確定 已選取 [同時認可至 Git ]。
按一下 [檔案] 。
從 GitHub 將筆記本還原或更新為版本
鏈接筆記本之後,Azure Databricks 會在每次重新開啟歷程記錄面板時,同步處理您的歷程記錄與 Git。 同步至 Git 的版本會認可哈希作為專案的一部分。
按下 右側提要欄位以開啟歷程記錄面板。
選擇歷程記錄面板中的專案。 Azure Databricks 會顯示該版本。
按下 [還原此版本]。
按兩下 [ 確認 ] 以確認您要還原該版本。
取消連結筆記本
按下 右側提要欄位以開啟歷程記錄面板。
Git 狀態列會顯示 Git:已同步處理。
按兩下 [Git:已同步]。
在 [Git 喜好設定] 對話框中,按兩下 [ 取消連結]。
按一下 [檔案] 。
按兩下 [ 確認 ] 以確認您想要取消連結筆記本與版本控制。
使用分支
您可以在存放庫的任何分支上工作,並在 Azure Databricks 內建立新的分支。
建立分支
按下 右側提要欄位以開啟歷程記錄面板。
按兩下 Git 狀態列以開啟 GitHub 面板。
按兩下 [ 分支 ] 下拉式清單。
輸入分支名稱。
選取下拉式清單底部的 [ 建立分支 ] 選項。 表示父分支。 您一律會從目前選取的分支。
建立提取要求
按下 右側提要欄位以開啟歷程記錄面板。
按兩下 Git 狀態列以開啟 GitHub 面板。
按兩下 [ 建立PR]。 GitHub 會開啟至分支的提取要求頁面。
重新建立分支基底
您也可以在 Azure Databricks 內重新建置分支。 Rebase 鏈接會顯示父分支中是否有新的認可。 僅支援在父存放庫的預設分支之上重新進行重新處理。
例如,假設您正在處理 databricks/reference-apps
。 您可以將它分叉到您自己的帳戶(例如 brkyvz
),並開始在稱為 my-branch
的分支上工作。 如果新的更新推送至 databricks:master
,則 Rebase
按鈕會顯示,而且您將能夠將變更提取至分支 brkyvz:my-branch
。
Rebasing 在 Azure Databricks 中的運作方式稍有不同。 假設下列分支結構:
重新基底之後,分支結構看起來會像這樣:
這裡的不同是認可 C5 和 C6 不適用於 C4。 它們會顯示為筆記本中的本機變更。 合併衝突如下所示:
然後,您可以使用 [ 立即 儲存] 按鈕再次認可至 GitHub。
如果有人從我剛重新建置的分支分支,會發生什麼事?
如果您的分支 (例如 branch-a
, ) 是另一個分支的基底(branch-b
),而您重新建立基底,就不需要擔心! 一旦使用者也重新調整基底 branch-b
,所有項目都會正常運作。在此情況下,最佳做法是針對個別的筆記本使用不同的分支。
程式代碼檢閱的最佳做法
Azure Databricks 支援 Git 分支。
- 您可以將筆記本連結至存放庫中的任何分支。 Azure Databricks 建議針對每個筆記本使用不同的分支。
- 在開發期間,您可以將筆記本連結至存放庫的分支,或連結至主要存放庫中的非預設分支。 若要整合上游的變更,您可以使用 Azure Databricks 中 [Git 喜好設定] 對話方塊中的 [建立 PR] 連結來建立 GitHub 提取要求。 只有在您未使用父存放庫的預設分支時,才會顯示 [建立 PR] 連結。
疑難排解
如果您收到與同步處理 GitHub 歷程記錄相關的錯誤,請確認下列各項:
- 您只能將筆記本連結至未空白的已初始化 Git 存放庫。 在網頁瀏覽器中測試 URL。
- GitHub 個人存取令牌必須是作用中。
- 若要使用私人 GitHub 存放庫,您必須擁有讀取存放庫的許可權。
- 如果筆記本連結到已重新命名的 GitHub 分支,則變更不會自動反映在 Azure Databricks 中。 您必須手動將筆記本重新連結至分支。
遷移至 Databricks Git 資料夾
需要從舊版 Git 版本控制移轉至 Databricks Git 資料夾的使用者可以使用下列指南: