Git 概述

在本主題中,您將學習使用 Git 的基本概念,這是傳遞系統 API 的重要組成部分。

使用 Git:概覽

Git 是交付系統的重要組成部分,我們鼓勵所有尚未熟悉其概念的用戶了解更多信息Git 網站 .還有一些隨手可得Git 備忘單在那裡使用。

必須安裝 Git 才能使用交付系統 API,您可以在Git 網站 .我們給出的命令行示例通常不能直接以書面形式使用,但是,由於使用了許多佔位符。用環境變量或值替換以下內容:帳戶ID , REPO_NAME , 訪問令牌 , 用戶名

使用 Git:授權

與REST API不同,您只能使用Git授權一種方式:使用Brightcove用戶名和密碼通過基本身份驗證。當前無法在Git中使用OAuth訪問令牌。

Git應該提示您輸入用戶名和密碼,因此在下面的示例中您將看不到任何身份驗證內容。

Git:創建/更新倉庫

安裝Git並通過REST創建存儲庫後,您可以開始創建本地存儲庫以供使用。通過簡單地創建一個目錄,然後在該目錄中使用初始化命令。

          mkdir my_repo
          cd my_repo
          git init
          

初始化倉庫後,您現在將其綁定到Brightcove系統中的遠程倉庫,以便可以輕鬆將所做的更改推送到服務器。

          git remote add origin https://repos.api.brightcove.com/v1/accounts/[ACCOUNT_ID]/repos/[REPO_NAME]
          

然後,您可以根據需要添加,編輯或刪除本地遠程文件。然後,您可以使用普通的Git命令來更新遠程倉庫。

          git add -A
          git commit 'Changing stuff'
          git push
          

使用 Git:推回購

不同文件推送位置的詳細信息在輸出中給出 .您還可以在對存儲庫URL的REST API調用中找到任何存儲庫的基本URL。所有文件都存儲在CDN上,以便所有用戶可以快速查看它們。

如果要構建自己的,完全自定義的播放器,則應注意,我們不能保證對所有文件的更新將在典型客戶端(如瀏覽器)中同時進行。因此,強烈建議交付系統API的用戶使用版本控制策略,以確保在進行更新後一起請求緊密耦合的文件。實現此目的的一種策略是在一個全新的位置進行更新,而不是覆蓋現有文件。由於我們的服務中沒有緩存的副本,因此這強制要求文件是原始源。但是,您應該期望對這些未緩存副本的前幾個請求所花費的時間比平時更長。明確地說,如果您是使用播放器管理API創建播放器,而不是直接使用交付系統API,則無需擔心這一點,因為可以為您處理緩存問題。

您在實時網站上看到更新所花費的總時間取決於許多因素。最重要的是,這些因素包括瀏覽器緩存以及完成來自邊緣節點的清除請求所需的時間。通常,從上次推送到存儲庫開始,它應該不會超過五分鐘。這是因為默認情況下,我們提供的文件設置為在瀏覽器中緩存五分鐘,而所有邊緣節點的平均清除時間平均約為一分鐘。但是,在高峰服務負載下,吹掃時間可能會更長-長達10分鐘。在最壞的情況下,所有緩存層都將需要清除(仍然確定該時間),您的更新才能最終生效。除非清除請求失敗或超時並且需要我們的後備緩存處理程序來刷新您的內容,否則這永遠不會發生。

查看您的更改

進行更改後,您可能希望看到所做的事情。您可以使用gitk命令。在直接初始化的Git中使用此命令時,將顯示一個GUI,向您顯示您的工作。一個簡單的示例如下所示:

gitk GUI

使用 Git:克隆回購

您可以將Brightcove已存儲的存儲庫複製到本地系統。用Git術語來說,這稱為克隆存儲庫。這樣,您不僅可以獲取組織中其他人創建的存儲庫,還可以檢索播放器管理API創建的存儲庫。

          git clone https://repos.api.brightcove.com/v1/accounts/{account_id}/repos/$REPO_NAME/$ACCESS_TOKEN

錯誤回應:吉特

Git調用的錯誤響應僅限於您的Git客戶端可以支持的內容:

  • 如果您嘗試調用不存在的回購協議,您通常會收到一條消息未找到 git-upload-pack:您是否在服務器上運行了 git update-server-info? .檢查以確保回購URL正確。
  • 如果您的電話無法通過驗證或授權,通常會提示您輸入密碼。退出此密碼請求,然後嘗試再次瀏覽OAuth指南,以確保您具有有效的訪問令牌。