Git的筆記本版本控製(遺留)

請注意

Databricks建議您使用Git與Databricks Repos集成將您在Databricks中的工作與遠程Git存儲庫同步。

本文描述如何為筆記本電腦設置Git版本控製(遺留特性)。你也可以使用磚CLI工作區API 2.0導入和導出筆記本,並在本地開發環境中執行Git操作。

啟用和禁用Git版本控製

默認情況下,版本控製是啟用的。要切換此設置,請參見管理在Git中版本筆記本的能力.如果Git版本控製被禁用,則Git集成選項卡不可用用戶設置屏幕上。

配置版本控製

要配置版本控製,您需要在Git提供程序中創建訪問憑據,然後將這些憑據添加到Databricks。

使用筆記本修訂

你在曆史課上用筆記本修改。單擊打開曆史麵板修訂曆史在筆記本的右上角。

修訂曆史

請注意

當曆史記錄麵板打開時,您無法修改筆記本。

保存一個筆記本到GitHub

你對筆記本所做的更改會自動保存到Databricks修訂曆史中,而不會自動保存到GitHub中。

  1. 點擊修訂曆史在筆記本的右上方打開曆史麵板。

    曆史麵板-現在保存
  2. 點擊保存現在來保存你的筆記本到GitHub。出現“保存筆記本修訂”對話框。

  3. 可選地,輸入一條消息來描述您的更改。

  4. 確保也要使用Git被選中。

    保存修改
  5. 點擊保存

從GitHub恢複或更新一個筆記本到一個版本

一旦你鏈接了一個筆記本,Databricks就會在你每次重新打開曆史麵板時將你的曆史記錄與Git同步。同步到Git的版本將提交散列作為條目的一部分。

  1. 點擊修訂曆史在筆記本的右上方打開曆史麵板。

    曆史麵板
  2. 在曆史記錄麵板中選擇一個條目。Databricks顯示該版本。

  3. 點擊恢複這個版本

  4. 點擊確認確認要恢複該版本。

使用分支

您可以處理存儲庫的任何分支,並在Databricks中創建新的分支。

創建一個分支

  1. 點擊修訂曆史在筆記本的右上方打開曆史麵板。

  2. 點擊Git狀態欄,打開GitHub麵板。

  3. 單擊分支下拉。

  4. 輸入分支名稱。

    創建分支
  5. 選擇創建分支選項在下拉列表底部。指示父分支。您總是從當前所選的分支進行分支。

創建一個pull請求

  1. 點擊修訂曆史在筆記本的右上方打開曆史麵板。

  2. 點擊Git狀態欄,打開GitHub麵板。

    Git首選項-創建拉請求
  3. 點擊創建公關.GitHub打開一個分支的拉請求頁麵。

變基一個分支

您還可以在Databricks中重新設置您的分支。的變基鏈接將顯示父分支中是否有新的提交可用。隻支持基於父存儲庫的默認分支的頂部重做。

變基

例如,假設您正在進行以下工作磚/ reference-apps.你把它存入你自己的賬戶(例如,brkyvz)並開始在一個叫做我的枝.如果一個新的更新被推送到磚:主,那麼變基按鈕顯示,您將能夠將更改拉入您的分支brkyvz:我的枝

重基在Databricks中的工作方式略有不同。假設以下分支結構:

在重基分支結構之前

重基之後,分支結構看起來像這樣:

重組後的分支結構

這裏的不同之處在於,提交C5和C6並不應用於C4之上。它們在你的筆記本上顯示為局部更改。合並衝突顯示如下:

合並衝突

然後您可以再次提交到GitHub使用保存現在按鈕。

如果有人從我剛剛重新建立的分支中分支出來,會發生什麼?

如果您的分支(例如,在分支)是另一個分支的基礎(分支),並且你重新基數,你不必擔心!一旦用戶也會重新base分支一切都會解決的。這種情況下的最佳實踐是為不同的筆記本使用不同的分支。

代碼評審的最佳實踐

Databricks支持Git分支。

  • 您可以將一個筆記本鏈接到存儲庫中的任何分支。Databricks建議為每個筆記本使用單獨的分支。

  • 在開發過程中,您可以將筆記本鏈接到存儲庫的分支或主存儲庫中的非默認分支。為了整合上遊的更改,你可以使用Databricks中Git Preferences對話框中的Create PR鏈接來創建一個GitHub pull request。隻有在您沒有處理父存儲庫的默認分支時,Create PR鏈接才會顯示出來。

故障排除

如果你收到與同步GitHub曆史相關的錯誤,請檢查以下內容:

  • 您隻能將一個筆記本鏈接到一個初始化的Git存儲庫,而這個存儲庫不是空的。在web瀏覽器中測試URL。

  • GitHub個人訪問令牌必須是活動的。

  • 要使用私有GitHub存儲庫,您必須具有讀取存儲庫的權限。

  • 如果一個筆記本鏈接到一個被重命名的GitHub分支,更改不會自動反映在Databricks中。您必須手動將筆記本重新連接到分支。