1. 簡介

大家好!我叫小黃,很高興您能參加。我從 us-central1 的 GKE 叢集一路飛奔而來,歡迎參加本程式碼研究室。
我的一生都在 Google Cloud 的資料串流中奔波,什麼都見識過了。我看到各位建築師和工程師打造出許多令人驚豔的產品。但我也看過你被荊棘困住。你一定知道我在說什麼!在 GKE 中偵錯 Pod 時,您會感覺到環境切換。您會在 kubectl logs、GCP 控制台 (用於檢查節點健康狀態)、IDE (用於查看已部署的原始碼) 和瀏覽器分頁 (用於查看 Kubernetes 官方文件中的 Pod 生命週期掛鉤) 之間切換。每次跳轉都會中斷專注!
還有複雜的工具!gcloud、kubectl、terraform... 各有自己的 DSL 和大量標記。導致需要不斷尋找說明文件。您最後會搜尋一個完美的 gcloud 指令,並搭配正確的 --filter 和 --format 旗標組合,取得所需資料。這就像在數百萬顆堅果的森林中尋找特定堅果,而且我還沒提到重複性工作。您為新的 Python 服務編寫相同的 Dockerfile 和 cloudbuild.yaml 這麼多次,程式碼可能都似曾相識了。
別擔心,我會教你更好的方法。穿梭樹林的祕密小徑。這就是 Gemini CLI 的用途!
什麼是 Gemini CLI?
那麼,我這麼期待的魔法捷徑是什麼呢?
Gemini CLI 就像終端機中的個人雲端夥伴。這是一場對話,也是一種合作關係!這項技術可感知情境,也就是說,它不僅會聆聽,還會理解。它可以讀取檔案、瞭解專案的慣例 (例如是否使用 Tab 鍵或空格),並判斷您想執行的動作。就像我能聞到您想收集的橡實!
高階架構 (讓我們一探究竟!)
那麼,這一切是如何運作的呢?這項功能結合了幾項酷炫技術,可和諧運作:
- 強大的語言模型:這是大腦!具體來說,這是由 Google 訓練的大型多模態模型。「多模態」表示模型不僅能理解文字,還能理解程式碼的結構和意義。因此能推論軟體內容,而不只是讀取。
- 當地背景:這點至關重要。Gemini CLI 會在本機電腦上以處理序的形式執行,並具備與使用者帳戶相同的權限。也就是說,它可以存取檔案系統,提供專案專屬的協助。這不是遠端雲端服務猜測您的程式碼,而是與您同在。
- 工具生態系統:這是模型與世界互動的方式。這類模型有一組明確定義的函式可呼叫,例如
read_file或run_shell_command。這就像安全的 API。模型會決定要執行的動作和要使用的工具,然後生成tool_code區塊來執行動作。因此可預測且可靠。 - 執行 Shell 指令:這才是真正的魔法!它可以在
bash -c <command>子殼層中執行任何指令。這項資料會擷取stdout、stderr和exit code。這項功能非常實用!也就是說,Gemini CLI 可以執行指令、檢查是否失敗,然後根據錯誤訊息嘗試修正問題。 - 安全網:這是我最喜歡的部分!在執行該
tool_code區塊之前,CLI 用戶端會顯示exact的指令或程式碼,並要求您確認。這是用戶端檢查,因此在任何內容觸及系統之前,您有最終決定權。一切由你掌控!
這不只是聊天機器人,更是行動派!在程式設計冒險中提供即時協助。
重要概念:宣告式與命令式
最重大也最棒的改變,就是從告訴電腦「如何」執行某項操作,變成告訴電腦「要」執行某項操作。
- 命令式 (舊方法,較為棘手):您必須提供每個步驟,您必須精通該工具的特定領域語言。例如這個超長指令:
天哪!看看這些!您必須瞭解機器類型、映像檔系列、中繼資料和標記的語法。如果少了一個部分,就會收到難以解讀的錯誤訊息。gcloud compute instances create my-vm --project=my-project --zone=us-central1-a --machine-type=e2-medium --image-family=debian-11 --image-project=debian-cloud --metadata-from-file startup-script=./startup.sh --tags=http-server,dev - 宣告式 (Sparky 捷徑!):只要用簡單的英文說出想記下的內容即可!
Create a new e2-medium VM for my web server in us-central1, run the startup.sh script, and tag it for http traffic.
大功告成!Gemini 會剖析要求、將要求對應至 gcloud 工具的參數、找出每個旗標的正確語法,並為您建構這個龐大複雜的指令。然後將草稿送交核准。讓您專注於思考大方向,而不是記憶指令列旗標。
擴展 Gemini 的強大功能:CLI 擴充功能簡介
Gemini CLI 本身就是強大的工具,但透過擴充功能,更能發揮其真正潛力。擴充功能是提示、工具和自訂指令的組合,可強化 CLI 的功能,讓您根據特定需求和工作流程進行調整。
尋找及安裝擴充功能
Gemini CLI 擴充功能生態系統日益壯大,Google 和第三方開發人員都參與其中。如要瀏覽擴充功能的官方目錄,請前往 geminicli.com/extensions。
如要安裝擴充功能,請使用 gemini extensions install 指令,並提供擴充功能 Git 存放區的網址。舉例來說,如要安裝 PostgreSQL 適用的官方 Cloud SQL 擴充功能,請執行下列指令:
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgresql
好了,別再說了!讓我們動手試試看吧!
2. 事前準備

您好,未來的雲端魔法師!Sparky 隨時為您服務。在開始這趟偉大冒險前,我們需要確保工作坊環境已準備就緒。這就像在進入森林前,先將所有合適的工具和魔法橡實裝進包包。追蹤我!
如果您已有 Google Cloud 專案,可以在 Google Cloud Shell 中使用 Gemini CLI,因為 Gemini CLI 已預先安裝在 Google Cloud Shell 中。或者,您也可以按照下列步驟在本機上設定。
步驟 1:基本需求 (先決條件)
每個優秀的冒險家都需要穩固的基礎。安裝 Gemini CLI 前,您需要在本機電腦上設定幾項項目。
- Google Cloud SDK (
gcloud):這是 Google Cloud 的主要工具包。Gemini CLI 也是這個大家族的一員!
- 檢查是否已安裝:執行
gcloud --version。如果看到版本號碼,即可繼續使用! - 如果尚未安裝:請按照官方說明 cloud.google.com/sdk/docs/install 操作。
- Git:我們需要這個工具來複製實作實驗室存放區。
- 檢查是否已安裝:執行
git --version。 - 如果尚未安裝:請前往 git-scm.com/downloads 下載。
- GCP 專案和驗證:
- 請確認您有已啟用計費功能的 Google Cloud 專案。這點非常重要!
- 執行下列指令,登入 Google 帳戶:
gcloud auth login
- 為工作階段設定專案。從 GCP 主控台找出專案 ID,然後執行下列指令:
gcloud config set project YOUR_PROJECT_ID
(請將 YOUR_PROJECT_ID 替換為實際的專案 ID!)
- Node.js 20 以上版本
步驟 2:取得魔法!(安裝 Gemini CLI)
好了,基本概念都講完了,現在要進入重頭戲了!我們將安裝 Gemini CLI。
使用 npx 立即執行
# Using npx (no installation required)
npx https://github.com/google-gemini/gemini-cli
使用 npm 全域安裝
npm install -g @google/gemini-cli
使用 Homebrew 全域安裝 (macOS/Linux)
brew install gemini-cli
查看 Gemini 版本
gemini --version
畫面上應該會顯示版本號碼。這表示安裝成功。
步驟 3:啟動電源 (設定)
安裝 Gemini CLI 後,我們需要提供存取權。首先,在終端機中執行 gemini 指令,啟動該工具。您應該會看到以下畫面:

為簡化流程,您可以使用 Google 帳戶進行驗證,這樣就能存取 Gemini 2.5 Pro,享有 100 萬個權杖的脈絡窗口,以及每分鐘最多 60 個要求和每天最多 1,000 個要求,不必管理 API 金鑰。
如要存取特定 Gemini 模型,或在需要時升級至更高限制,請使用 Gemini API 金鑰做為驗證方法。
如果企業團隊和生產工作負載已設定 Google 專案和帳單帳戶,請使用 Vertex AI 取得進階安全性和法規遵循功能。
系統會根據您選擇的選項,提示設定驗證的後續步驟。如要進一步瞭解這些選項,請參閱 Gemini CLI 說明文件。
如果您打算使用 Google Cloud 的 Vertex AI 平台,請先按兩次 ctrl+c 退出 Gemini CLI,然後設定必要的環境變數。
無論使用哪種驗證方法,您通常都需要設定下列變數:GOOGLE_CLOUD_PROJECT 和 GOOGLE_CLOUD_LOCATION。
如要設定這些變數,請按照下列步驟操作:
# Replace with your project ID and desired location (e.g., us-central1)
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
export GOOGLE_CLOUD_LOCATION="YOUR_PROJECT_LOCATION"
現在登入 Google Cloud:
gcloud auth application-default login
使用上述方法完成驗證後,請在終端機中執行 gemini 指令,再次啟動 Gemini CLI。在驗證選項中選取 Vertex AI,即可完成設定。
步驟 4:進行 Spark 測試!(驗證設定)
現在就是揭曉答案的時刻!讓我們看看一切是否正常運作。執行這些指令,確認所有燈號都亮綠燈。
- 輸入下列提示詞:
What is my current directory?
Gemini CLI 應會回覆,告知您目前的工作目錄。這項測試會檢查核心語言模型和殼層整合。

- 測試 GCP 連線:
list my gcs buckets
如果有的話,系統會列出所有 GCS 儲存空間。如果沒有,系統會告知你沒有任何可用的優惠。確認已正確連結至 GCP 專案。
步驟 5:賦予更多超能力!(安裝擴充功能)
現在讓我們安裝幾個擴充功能,強化 Gemini CLI 的功能,這些擴充功能在稍後的實驗室中會派上用場。
Cloud Run
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
Gemini CLI 安全性
gemini extensions install https://github.com/gemini-cli-extensions/security
gcloud
gemini extensions install https://github.com/gemini-cli-extensions/gcloud
PostgreSQL 適用的 Cloud SQL
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgresql
如果上述所有指令都能正常運作,您就正式準備好參加工作坊了!環境設定完成後,即可開始提升工作效率。第一個實驗室見!
3. 核心概念與本機工作區互動

好的,準備好實際操作了嗎?現在來看看新 Gemini 工具包中的實際工具。我認為這些是探索及建構雲端服務的超能力!讓我們深入瞭解這些設定的運作方式。
核心功能
我將自己的超能力分成兩類:瞭解現況,然後實際行動!
瞭解環境 (我的超感官!)
開始築新巢前,你得先檢查樹木,對吧?這些工具可協助您瞭解地形。
list_directory:這是我的基本「嗅探」工具。這是標準 OS 層級目錄清單的簡單包裝函式。但最酷的是,模型可以剖析這個結構化輸出內容來做出決策,例如選擇探索名為src的子目錄。glob:這是我的「橡實尋找器」!它會使用標準 glob 模式,例如*、**、?和[],您已從.gitignore等項目瞭解這些模式。因此,您可以使用app/**/*.py模式,詢問「在app目錄中尋找所有*.py檔案」。這是收集特定檔案供模型分析的強大方式。search_file_content:這是我的 X 光透視能力!這項功能會使用完整的規則運算式 (regex) 進行搜尋,而不只是簡單的字串比對。這項功能非常強大。您可以要求尋找複雜模式,例如「找出所有使用 POST 方法的 Flask 路由」,這可能會產生類似app\.route\(.*methods=\['POST'\].*\)的規則運算式。這項工具會傳回檔案路徑、行號和相符的行,為模型提供所需的所有背景資訊。read_file:找到感興趣的檔案後,您會想要開啟檔案。read_file已針對這項功能進行最佳化。您可以讀取整個檔案,也可以針對大型檔案使用offset和limit參數,分批讀取檔案。也就是說,模型可以有效率地掃描大型記錄檔,不會逾時。
從瞭解到行動 (開始建構!)
好,你已探索過地形。現在可以開始打造巢穴了!這些工具可讓您進行變更及完成工作。
**write_file**:需要從頭建立新檔案嗎?write_file是一項不可分割的作業,可將您提供的完整內容寫入指定路徑。非常適合用於架構新模組,或根據專案需求從頭建立Dockerfile。**replace**:這項工具適用於手術變更!這不只是簡單的尋找與取代,您提供old_string和new_string。為確保安全,old_string必須是檔案中的不重複程式碼片段,通常是您要變更的部分前後幾行的內容。確保只變更您要的exact程式碼片段。**run_shell_command**:這是終極強化道具!這個指令會在bash -c <command>子殼層中執行指定指令。模型會傳回stdout、stderr和exit code。這是建構工作流程的關鍵。模型可以執行terraform plan、讀取輸出內容,如果計畫成功 (結束代碼為 0),模型就會詢問是否要套用。
安全網 (我的承諾!)
現在執行指令可能會令人害怕。我瞭解了!因此安全網非常重要。模型產生包含 run_shell_command 或 write_file 呼叫的 tool_code 區塊時,Gemini CLI 用戶端會攔截該區塊。系統會顯示確切指令或要寫入的完整檔案內容,並提供 [y/n] 提示。請放心,我們絕不會在未取得您明確同意的情況下,一切由你掌控。
4. 探索專案

目標:使用 Gemini CLI 瞭解不熟悉的程式碼集,不必離開終端機。
情境:您是新進開發人員,需要快速瞭解這個專案!
工作 0:設定 - 複製專案!
首先,我們需要取得程式碼!這個檔案隱藏在 GitHub 的公開存放區中,位於名為「tree」的 quickpoll。請 Gemini CLI 為我們複製這個存放區。在此之前,請先建立工作目錄,並從工作目錄中啟動 Gemini CLI:
mkdir workdir
cd workdir
gemini
現在輸入下列提示:
clone the github repository from the URL: https://github.com/gauravkakad-google/quickpoll.git

Gemini 會瞭解「複製」是指使用 git clone 指令。這會產生類似 git clone https://github.com/gauravkakad-google/quickpoll.git 的 run_shell_command 工具呼叫。核准後,系統就會為你下載存放區。
現在請按兩次 ctrl+c 退出 Gemini CLI,然後前往範例存放區並再次啟動 Gemini CLI:
cd quickpoll
gemini
太好了!進入專案樹狀結構後,我們就可以開始探索!
工作 1:列出專案中的所有檔案
現在我們已經進入森林,可以繪製整座森林的地圖。我們想查看每個檔案。向 Gemini 詢問以下問題:
List all the files in the project.
Gemini 可能會使用 glob 工具和 **/* 模式。這會以遞迴方式列出每個檔案,提供程式碼基底的完整資訊清單。這是瞭解專案結構的第一步。
工作 2:找出匯入「google.cloud.sql.connector」的所有檔案
好吧,我很好奇。這個專案會與 Google Cloud Storage 進行哪些通訊?我們來當偵探,請提出以下要求:
Find all files that import the 'google.cloud.sql.connector' library.

Gemini 會運用search_file_content強大功能,找出含有該匯入陳述式的確切檔案。這樣一來,您就能立即將焦點縮小到處理 Cloud SQL 互動的程式碼部分。在這個專案中,應該會找到 backend/main.py。
工作 3:顯示主要 Dockerfile 的內容
我看到 Dockerfile 了!這就是容器的藍圖。讓我們一探究竟。只要說出:
Show me the contents of the main Dockerfile.

Gemini 會使用 read_file 顯示 Dockerfile。您可以分析基本映像檔 (FROM)、安裝的依附元件 (RUN pip install...) 和最終指令 (CMD)。這可讓您瞭解應用程式的執行階段環境。
工作 4:main.py 檔案的用途為何?
好了,現在要來看看程式碼的核心部分。我們請 Gemini 擔任導遊,請說出:
What's the purpose of the `main.py` file?

這正是 Gemini CLI 的強項。系統會先在 backend/main.py 上呼叫 read_file。接著,多模態語言模型會分析 Python 程式碼。這會識別出這是 FastAPI 應用程式,可為輪詢應用程式提供 REST API。接著說明 API 端點及其功能。這樣就不必自己閱讀及解讀所有內容。您也可以詢問後續問題,要求詳細說明這些功能。很方便吧?快來試試看吧!
5. 從本機到直播!使用 Cloud Run 和 Cloud SQL 部署

好啦,雲端冒險家,您已偵察完畢。現在,您可以在雲端建構自己的樹屋!我們將以快速投票應用程式為例,製作成任何人都能造訪的即時網路應用程式。
目標:將 quickpoll 應用程式部署至 Cloud Run,並使用 PostgreSQL 適用的 Cloud SQL 做為後端。
工作 1:為資料建立穩固的分支 (設定 Cloud SQL)
每個優質應用程式都需要儲存珍貴橡實的地方... 我的意思是資料!我們將使用 PostgreSQL 適用的 Cloud SQL。這就像是資料庫的魔法自動照料花園,讓我們可以專注於有趣的事物。
請 Gemini CLI 為資料庫植入種子。
Please create a new Cloud SQL for PostgreSQL instance for me in project <myproject>. Call it quickpoll-db and put it in us-central1. Lets use the Development preset for now, and make the root password a-very-secure-password!.

Gemini CLI 會使用 Cloud SQL 擴充功能開始作業。系統會顯示 create_instance 工具呼叫。請核准這項要求!
建立執行個體後,您應該會看到類似以下的輸出內容:

您可以建立包含上述環境變數的 .env 檔案,並在重新啟動 Gemini CLI 前提供來源,讓 CLI 存取這些變數。
在執行個體成長期間,我們來準備土壤。我們的應用程式需要資料庫和使用者。
In the quickpoll-db instance, create a new database named quickpolldb.
Gemini CLI 會使用 PostgreSQL 適用的 Cloud SQL 擴充功能中的 create_database 工具,為您建立資料庫。

現在新增使用者來管理:
In the quickpoll-db instance, create a built in user named quickpoll-user with the password another-secure-password!.
這次 Gemini CLI 會使用 create_user 工具。

工作 2:密鑰路徑 (連結後端)
後端需要知道新資料庫的密徑。讓我們看看 backend/main.py,瞭解如何找到路徑。
show me how would the backend/main.py connect to the database

新發現!看到嗎?這個範例會使用 Cloud SQL Python 連接器,並尋找 CLOUD_SQL_POSTGRES_INSTANCE、CLOUD_SQL_POSTGRES_USER、CLOUD_SQL_POSTGRES_PASSWORD 和 CLOUD_SQL_POSTGRES_DATABASE 等環境變數。我們需要將這些變數提供給 Cloud Run 服務。
首先,我們需要 CLOUD_SQL_POSTGRES_INSTANCE。就像是秘密握手。
What are the details for the Cloud SQL instance quickpoll-db in us-central1?

畫面上會顯示許多詳細資料,找出連線名稱並複製該值。如下所示:your-project-id:us-central1:quickpoll-db。
現在,在將應用程式部署至 Cloud Run 之前,請先使用必要資料表例項化資料庫。由於我們已建立個別資料庫和使用者,請退出 Gemini CLI,並使用新值更新先前建立的 .env:
export CLOUD_SQL_POSTGRES_USER=quickpoll-user
export CLOUD_SQL_POSTGRES_PASSWORD=password-you-provided
export CLOUD_SQL_POSTGRES_DATABASE=quickpolldb
現在請重新啟動 Gemini CLI,然後輸入下列內容:
execute backend/database.sql file on quickpolldb database as quickpolluser in quickpoll-db instance

系統自動發現這項工具execute_sql不支援在單一呼叫中執行多個 SQL 指令。因此,系統會分別執行每個 SQL 指令。
工作 3:後端,起飛吧!(正在部署到 Cloud Run)
後端是時候離開巢穴了!我們會要求 Gemini 將後端資料夾部署至 Cloud Run,並提供資料庫的密鑰路徑。
Deploy the backend folder to a new Cloud Run service called quickpoll-be in us-central1. Here are the secrets (environment variables):
CLOUD_SQL_POSTGRES_INSTANCE=your-project-id:us-central1:quickpoll-db
CLOUD_SQL_POSTGRES_USER=quickpoll-user
CLOUD_SQL_POSTGRES_PASSWORD=password-you-provided
CLOUD_SQL_POSTGRES_DATABASE=quickpolldb
Gemini 會封裝程式碼、建立容器映像檔,並部署至 Cloud Run。完成後 (可能需要幾分鐘),您會取得全新後端服務的網址。請將該網址記在手邊。

工作 4:最後潤飾 (設定及部署前端)
前端就像應用程式的友善面孔,它需要知道後端的位置。現在要告訴它該前往何處。
Deploy the frontend folder to a new Cloud Run service called quickpoll-fe in us-central1. Here are the secrets (environment variables):
BACKEND_URL=backend-url

工作 5:盛大揭幕!
就是這樣!揭曉答案的時刻到了!取得 quickpoll-fe 服務的網址,並在網路瀏覽器中開啟。
您應該會看到 QuickPoll 應用程式,即時顯示並準備好執行動作!快來建立意見調查、投票,並即時查看結果。
你成功了!您已將本機電腦中的專案移至 Google Cloud,並在雲端環境中執行。而且您全程都在終端機中完成,Gemini CLI 則是您值得信賴的得力助手。
這才是真正的效率!
6. 開發人員:加速開發生命週期

好了,開發人員,真正有趣的部分要開始了!我們已經探索過專案,現在可以建構了。我將說明 Gemini 如何成為您最得力的程式設計夥伴,協助您將簡單的想法轉換為可供正式環境使用的程式碼,速度之快,就像松鼠找到堅果一樣!
從構想化為程式碼
請考量一般開發週期。不只是寫程式碼,對吧?包括架構、新增錯誤處理機制、重構及編寫測試。Gemini 都能幫你完成!
樣板和重複性工作:不必再複製貼上!
您已具備基本應用程式功能。現在您需要新增記錄並處理潛在錯誤,對吧?這通常會產生許多重複的 try...except 區塊。現在不必這麼麻煩了!首先,請要求 Gemini CLI 分析程式碼,並針對錯誤記錄和例外狀況處理提供最佳做法建議:
What are the best practices for error handling and logging that should also be included in this application?

Gemini CLI 會分析現有檔案,並提供一些最佳做法建議。這就像是專家助理,可幫你省下自行研究這些主題的時間。
現在,請 AI 幫您套用這些建議:
please go ahead and implement these in the existing app
實際輸出內容可能有所不同,但最後應該會顯示所做變更的詳細資料。舉例來說,在下方的螢幕截圖中,您可以看到它已新增 structlog 來產生 JSON 格式的記錄、實作集中式例外狀況處理,並改善要求回應的記錄方式。這樣就省下打字的時間了!

重構:您的個人程式碼審查員
我們都希望撰寫乾淨俐落且有效率的程式碼。但有時我們很趕時間,Gemini 可做為你的個人程式碼審查員。你可以問:
please perform a comprehensive code review for best practices and security


Gemini 瞭解特定語言的最佳做法。同樣地,您實際得到的輸出內容可能與上述螢幕截圖不同,但只要閱讀輸出內容,就能瞭解 Gemini CLI 分析程式碼時的詳細程度。有助於您同時學習和改善程式碼!
生成測試:最棒的部分!
這是我最喜歡的技巧!我們都知道應該編寫測試,但這可能很無聊,特別是必須模擬事物時。快來看看吧!只要問:
Add a test suite to this application



Gemini 會分析函式、找出輸入和輸出內容,並判斷依附元件。接著,系統會產生完整的 test_main.py 檔案,其中包含多個測試案例,包括「滿意路徑」,以及可能的錯誤情況。這可大幅提升工作效率!
執行測試!(為您準備的挑戰工作)
現在,真正令人興奮的部分來了!我會將這部分留給您自行探索。歡迎提示 Gemini CLI 執行生成的測試案例。接著,只要放鬆心情,就能見證魔法的誕生!
7. 超越本機主機:與 GitHub 整合

我們在本機電腦 (也就是森林中的一隅) 完成了一些很棒的工作。但雲端的真正力量在於協作和連結!現在就開始探索 Gemini 如何與廣大世界互動,首先從開發人員森林中最大的樹木 GitHub 開始!
概念:整合式 DevOps 助理
到目前為止,我們已將 Gemini 當做本機程式設計夥伴。現在,我們要將其升級為功能齊全的整合式 DevOps 助理。這一切都要歸功於 Model Context Protocol (MCP) 整合。這個名稱聽起來很厲害,但其實只是指 Gemini 可以代表你安全地與其他服務互動,而我們要掌握的第一項服務就是 GitHub。
想想看,您必須多常離開終端機,才能在 GitHub 上查看提取要求、建立問題或瀏覽存放區?這表示您需要更頻繁地切換情境!有了 github 工具組,您就能直接在這裡完成所有作業。將 Gemini 變成 GitHub 的原生介面。
GitHub MCP 伺服器的官方說明文件,針對公開工具和設定選項提供充足的指引。Gemini CLI 完全支援遠端 MCP 伺服器,因此您可以自由選擇在本機或遠端執行作業。
本教學課程會引導您設定 GitHub 的遠端 MCP 伺服器選項。首先,請從 GitHub 取得個人存取權杖 (PAT)。
取得 PAT 後,請將 MCP 伺服器物件新增至 settings.json 檔案。我的完整 settings.json 如下所示,但您只要確保 mcpServers 物件與這裡顯示的內容相符即可:
{
"security": {
"auth": {
"selectedType": "vertex-ai"
}
},
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "GITHUB_PAT"
},
"timeout": 5000
}
}
}
使用 GitHub MCP 伺服器設定更新 settings.json 後,只要重新啟動 Gemini CLI 或執行 /mcp refresh 指令,下方的螢幕截圖顯示系統已準備好 GitHub MCP 伺服器,並展示 Gemini CLI 現在可透過 Model Context Protocol 使用的強大工具陣列。

重要指令展示
Gemini 專為 GitHub 打造一系列全新超能力,以下列舉幾項我最喜歡的功能:
github.list_repositories:想在不開啟瀏覽器的情況下,查看機構中的所有存放區嗎?這就是你要的工具!只要說出「列出我機構中的所有存放區」即可。github.create_issue:發現錯誤嗎?請勿切換視窗來建立問題。只要告訴 Gemini「在sample-flask-app存放區中建立名為『修正登入錯誤』的問題,並附上這段說明...」,噗,問題就建立完成了。github.get_pull_request:需要檢查 PR 嗎?你可以提出類似「Show me the details of PR number 42 in thesample-flask-apprepo」(顯示sample-flask-app存放區中 PR 編號 42 的詳細資料) 的要求。Gemini 會擷取標題、說明、狀態和審查員。github.get_file_contents:這個超酷的,您可以從遠端存放區讀取檔案,不必先複製檔案!如果您沒有本機專案,這項功能很適合用來快速檢查設定檔或專案的 README。
8. GitHub 探索

說了這麼多,我們來飛吧!我們將運用全新的 GitHub 功能,在終端機中輕鬆探索機構和專案。
目標:使用 Gemini 探索及瞭解 GitHub 上託管的專案。
情境:您需要熟悉 GitHub 上一個從未處理過的專案。
工作 1:列出機構中的存放區
首先,請查看 GitHub 機構中的所有專案。在本實驗室中,您可以使用自己的 GitHub 使用者名稱或所屬機構。請 Gemini 列出這些項目。
List the repositories in the `[your-org-or-username]` GitHub organization.
(請記得將 [your-org-or-username] 替換為實際資訊!)Gemini 會使用 github.list_repositories 工具,並顯示所有專案的清單。太棒了!
工作 2:尋找特定存放區
好,你會看到存放區清單。現在,您就像真正的開發人員一樣,需要掃描該清單,找出感興趣的專案。在本實驗室中,假設我們要尋找先前複製的 quickpoll 存放區。這個部分不需要指令,只要讀取上一個步驟的輸出內容,然後找出存放區即可!
工作 3:列出待處理的提取要求
現在我們已找出目標存放區,接下來看看該存放區發生了什麼事。是否有任何待處理的提取要求?請回答下列問題:
List the open pull requests for the `quickpoll` repository in the `[your-org-or-username]` organization.
Gemini 會使用 github.list_pull_requests 工具,篩選 open 狀態。接著會列出所有開啟的 PR,顯示 PR 編號、標題和建立者。您可以即時查看專案的開發進度。您可以嘗試使用您積極參與的存放區,並檢查結果。

工作 4:調查 Pull Request
假設清單中有一個有趣的 PR。我們想進一步瞭解!我們想查看說明和變更的檔案。從清單中選擇 PR 號碼 (如果沒有,可以略過此步驟,但假設有一個)。
Show me the details and files changed in PR number 1 in the `quickpoll` repo.
這就是 Gemini 擅長的多步驟工作!首先,它可能會使用 github.get_pull_request 擷取主要詳細資料,例如標題、內文、作者等。接著,為了取得檔案變更,它會使用第二個工具 github.get_pull_request_files。然後將所有資訊彙整成簡潔明瞭的摘要。您剛才在終端機中審查了 PR!這真是太棒了!
9. 從 PRD 到初始提交

您已學會探索、建構及測試。現在,我們將在實際情境中整合所有內容。我們將在這個階段把計畫轉化為產品。我們會從產品需求文件 (PRD) 開始,一路做到第一次提交。一起打造優質產品與服務!
目標:從頭到尾模擬實際開發工作,結合本機和遠端環境。
情境:你已獲派新功能!專案 GitHub 存放區中的 PRD 檔案內有相關需求。
工作 1:瞭解 - 閱讀 PRD
這是最重要的步驟!在考慮編寫任何程式碼之前,您絕對必須掌握計畫。prd/NEW_FEATURE.md 檔案中包含新功能的需求。讓我們打開看看裡面有什麼。
explain the requirements mentioned in prd/NEW_FEATURE.md
Gemini CLI 會使用 read_file 來展示 PRD 的內容。立即開始!這項新功能是使用者可手動更新的「有效投票」清單。請務必先參閱藍圖!

工作 2:程式碼 - 將需求轉化為現實
這就是神奇時刻!我們會從 PRD 取得需求,並要求 Gemini 為我們編寫程式碼。讓我們明確地告訴它我們想要什麼。
Implement the changes as per the PRD
Gemini CLI 會立即開始運作,稍後您會看到類似下方的輸出內容。我們閃亮的新程式碼現在有舒適的家了!

工作 3:驗證變更
我們已建立含有新程式碼的新檔案。本實驗室的最後一個步驟,就是將變更部署至 Cloud Run 並進行驗證。
let's deploy the changes made to frontend to Cloud Run. The existing service on Cloud Run is quickpoll-fe in us-central1.
請注意,該提示提供了額外詳細資料,例如現有的 Cloud Run 服務名稱及其部署區域。雖然 Gemini CLI 一律會在您遺漏任何詳細資料時提示您,但明確指定有助於節省時間。
如果更新後的 Cloud Run 服務發生錯誤,只要提示 Gemini CLI 偵錯並修正程式碼即可。別忘了,這可是你的超級幫手!
10. 恭喜

大功告成!您剛完成完整的開發週期。您從需求文件開始,一路開發出可提交及推送的新功能。您結合了本機環境、遠端環境、檔案系統作業和程式碼產生功能。您不只是開發人員,更是生產力超高的雲端架構師!恭喜!