遷移至新的 Git 存放區

如果您有連結至 Git 存放區的 LookML 專案,建議將該專案的 LookML 移至新的存放區。

解決這個問題的方法有兩種,詳情請見以下各節:

  • 重設 Git 連線:這個簡單的解決方案可保留 Looker 中的所有個人和共用分支,適合大多數用途。
  • 複製 Git 存放區:如果您需要立即透過 Git 供應商的使用者介面查看過往使用過的所有分支的完整記錄,建議採用這項進階解決方案。

簡單解決方法:重設 Git 連線

如果您重設 Git 連線並輸入新的 Git 存放區網址,LookML 就會移至該存放區。個人和共用分支中所有儲存的變更都會保留,並可在 Looker 中使用。一開始,Git 供應器的使用者介面只會顯示主分支和其記錄。下次有人對該分支版本進行提交時,其他分支版本及其歷史記錄就會顯示。如要使用這個方法遷移至新存放區,請按照下列步驟操作:

  1. 前往該專案的專案設定頁面
  2. 在「專案設定」頁面的「設定分頁標籤中,選取「重設 Git 連線」按鈕。
  3. 在「Configure Git」頁面中,輸入新的 Git 網址 (您要遷移的存放區 Git 網址),然後選取「Continue」
  4. 如果您使用 SSH 連線,請務必選取「Reset Key」。否則,系統會使用相同的 SSH 金鑰,如果兩個存放區都由同一個服務 (在本例中為 GitHub) 代管,就可能發生衝突。
  5. 如要建立 SSH 連線,請將新的部署金鑰新增至 Git 存放區,並務必在 Git 存放區部署金鑰設定中授予寫入存取權。如果您使用 HTTPS,請輸入 Git 存放區的登入憑證。如需 Git 設定的完整操作說明,請參閱「設定及測試 Git 連線」說明文件。

完成這些步驟後,專案就會連結至新的存放區。

注意:您必須先將專案部署至實際環境,專案的 LookML 才會顯示在新存放區的主分支中。除非您將 LookML 程式碼部署至正式環境,否則在提交程式碼或將其推送至遠端 (Git 指令,可在 Git 操作面板中使用) 後,LookML 程式碼只會顯示在新存放區的開發分支中。

進階解決方案:複製存放區

先前所述的簡單解決方案會保留所有分支的記錄,但一開始只有主分支及其記錄會顯示在 GitHub UI 中。在 Looker 中對個人或共用分支進行提交後,該分支及其記錄會顯示在 GitHub 使用者介面中。您需要更進階的解決方案,才能立即透過 GitHub UI 查看所有分支及其記錄。

首先,您必須有權存取 GitHub (或其他 Git 供應商) 中的原始存放區。您可以在專案設定或專案設定頁面底部找到存放區網址。

在本例中,假設 git@github.com:looker/PROJECT_NAME.git 是原始存放區,git@github.com:your_organization/PROJECT_NAME.git 是新存放區:

  1. 將原始存放區複製到電腦上,然後下載要保留的分支。

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. 重設存放區的遠端網址。詳情請參閱 GitHub 說明文件

    git remote -v
    

    這會顯示目前指向的遠端位置。結果如下所示:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. 接下來,將原始來源設定為新存放區:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. 如要為開發分支導入記錄和檔案,您必須為每個開發分支執行 git checkout dev_branch_namegit push origin。您可以手動執行這項操作,也可以在指令碼的迴圈中執行,如以下範例所示:

    #!/bin/bash
    for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
    git branch --track "${branch##*/}" "$branch"
    done
    

    然後使用 git push --all 推送分支。

  5. 將 Looker 中的 Git 連線重設為這個新網址,並在這個新存放區中設定部署金鑰 (請參閱本頁先前的簡易解決方案部分中的步驟)。