Contact
Line : comsiam
Contact
Line : comsiam

Google Gemini สามารถนำ GitHub Repository เข้ามาเป็น Context ของแชต เพื่อช่วยอ่าน Codebase อธิบายโครงสร้างโปรเจกต์ ค้นหา Function วิเคราะห์ Bug ตรวจความสัมพันธ์ระหว่างไฟล์ และเสนอแนวทางปรับปรุงโค้ดได้ โดยไม่ต้องดาวน์โหลด Source Code แล้วอัปโหลดทีละไฟล์
ปัจจุบันการ Import GitHub Repository ทำผ่าน Gemini Web App บนคอมพิวเตอร์ โดยใส่ URL ของ Repository หรือ Branch ที่ต้องการ และ Gemini รองรับได้ 1 Repository ต่อแชต สูงสุดประมาณ 5,000 ไฟล์ และขนาดรวมไม่เกิน 100 MB
ได้ Gemini Apps มี GitHub เป็นหนึ่งใน Connected Apps และสามารถ Import Repository เข้ามาในแชตเพื่อถามเกี่ยวกับ Source Code ได้
ตัวอย่างงานที่เหมาะกับฟีเจอร์นี้ ได้แก่
สิ่งสำคัญคือ Gemini ใช้ Repository เป็น Context สำหรับอ่านและวิเคราะห์ ไม่ได้หมายความว่า Gemini จะเข้าไปแก้ Source Code ใน GitHub Repository ให้โดยตรง
ขั้นตอนปัจจุบันทำผ่าน Gemini Web App บนคอมพิวเตอร์
เปิด Gemini ผ่านเว็บเบราว์เซอร์บนคอมพิวเตอร์ และเข้าสู่ระบบบัญชี Google
แนะนำให้สร้างแชตใหม่สำหรับแต่ละ Repository เพื่อไม่ให้ Context จากโปรเจกต์อื่นปะปนกัน
บริเวณช่อง Prompt เลือก
Add files
จากนั้นเลือก
More uploads
เลือก
Import code
จะมีตัวเลือกให้นำ Code Folder หรือ GitHub Repository เข้ามา
นำ URL ของ Repository หรือ Branch ที่ต้องการมาวาง
ตัวอย่างรูปแบบ Repository
https://github.com/example/project
หากต้องการ Branch เฉพาะ สามารถใช้ URL ของ Branch ที่ต้องการ Import ได้
กด Import
จากนั้นทำตามขั้นตอนบนหน้าจอ
หากเป็น Public Repository ขั้นตอนจะตรงไปตรงมามากกว่า
แต่หากเป็น Private Repository อาจต้องเชื่อมบัญชี GitHub ที่มีสิทธิ์เข้าถึง Repository นั้นกับบัญชี Google ก่อน
เมื่อ Repository ถูกเพิ่มแล้ว สามารถเริ่ม Prompt เช่น
“ตรวจ Codebase นี้ทั้งหมดก่อน แล้วอธิบาย Architecture, Entry Point, Module หลัก และ Data Flow โดยยังไม่ต้องแก้ Code”
Private Repository ต้องมีขั้นตอนเรื่องสิทธิ์เพิ่มเติม
บัญชี GitHub ที่เชื่อมกับ Google ต้องมีสิทธิ์เข้าถึง Repository ที่ต้องการ Import
หากยังไม่ได้เชื่อมบัญชี Gemini จะมีตัวเลือกให้เชื่อม GitHub ระหว่างขั้นตอน Import
ก่อนเชื่อมควรตรวจว่า
สำหรับบัญชี Google Workspace ของบริษัทหรือสถานศึกษา การใช้ GitHub Connected App อาจขึ้นอยู่กับ Edition และการตั้งค่าของ Administrator
ข้อจำกัดปัจจุบันคือ
1 GitHub Repository ต่อแชต
Repository สามารถมีได้สูงสุดประมาณ
5,000 ไฟล์
และขนาดรวมสูงสุดประมาณ
100 MB
| รายการ | ข้อจำกัด |
|---|---|
| Repository ต่อแชต | 1 Repository |
| จำนวนไฟล์ | สูงสุดประมาณ 5,000 |
| ขนาดรวม | สูงสุดประมาณ 100 MB |
| Repository URL | รองรับ |
| Branch URL | รองรับ |
| Private Repository | รองรับเมื่อเชื่อมบัญชีที่มีสิทธิ์ |
หาก Repository ใหญ่กว่านี้ ควรเลือกเฉพาะ Codebase หรือ Branch ที่เกี่ยวข้องกับงาน
ได้ Google ระบุว่าสามารถใช้ Repository URL หรือ Branch URL ในขั้นตอน Import ได้
ฟีเจอร์นี้มีประโยชน์มากสำหรับโปรเจกต์ที่มี Branch เช่น
main
develop
staging
feature-login
feature-payment
หากต้องการวิเคราะห์ Feature Login ก็อาจเลือก Import Branch ที่เกี่ยวข้องโดยตรง
ช่วยลดจำนวนไฟล์และทำให้ Context ตรงกับสิ่งที่กำลังพัฒนามากขึ้น
ไม่ควรเริ่มจาก
“แก้โค้ดทั้งหมดให้ดีขึ้น”
เพราะ Gemini ยังควรทำความเข้าใจ Architecture ก่อน
Prompt ที่แนะนำคือ
“สำรวจ GitHub Repository นี้ทั้งหมดก่อน โดยยังไม่ต้องแก้ไขหรือสร้าง Code
ให้แสดง:
หากไม่สามารถยืนยันหน้าที่ของไฟล์ใดได้จาก Code ให้ระบุว่าไม่แน่ใจแทนการเดา”
วิธีนี้ช่วยสร้างภาพรวมก่อนถามเรื่องเฉพาะจุด
หลัง Import แล้วใช้ Prompt เช่น
“สร้าง Project Tree แบบย่อจาก Repository นี้ และอธิบายหน้าที่ของ Folder สำคัญแต่ละรายการ”
จากนั้นถามต่อ
“ถ้าฉันเป็น Developer ใหม่ ฉันควรอ่านไฟล์ใดก่อน 10 อันดับแรก และเพราะอะไร”
เหมาะกับโปรเจกต์ที่
Gemini สามารถทำหน้าที่เป็นผู้ช่วยสำรวจ Source Code ได้เร็วกว่าเปิดอ่านแบบสุ่มทีละไฟล์
ไม่จำเป็นต้องรู้ชื่อไฟล์ก่อน
สามารถถามจาก Feature ได้ เช่น
“ระบบ Login อยู่ส่วนใดของ Repository นี้”
หรือ
“ค้นหา Function ที่ใช้สร้าง JWT Token”
หรือ
“หา Code ที่ส่ง Email หลังผู้ใช้สมัครสมาชิก”
หรือ
“ค้นหาทุกไฟล์ที่เกี่ยวข้องกับ Payment”
Gemini สามารถใช้ Context ของ Repository เพื่อเชื่อม Feature กับหลายไฟล์ที่เกี่ยวข้อง
ระบบจริงมักไม่ได้ทำงานในไฟล์เดียว
ตัวอย่าง Web Application อาจมี Flow
Route
↓
Controller
↓
Service
↓
Model
↓
Database
สามารถใช้ Prompt
“Trace การทำงานของ Login ตั้งแต่ HTTP Request เข้ามาจนถึงการตรวจ Database และสร้าง Session หรือ Token พร้อมระบุไฟล์และ Function ที่เกี่ยวข้องในแต่ละขั้น”
วิธีนี้ช่วยให้เข้าใจระบบได้เร็วกว่าการเปิดค้นหา Reference ด้วยตัวเองทีละไฟล์
หากมี Error ควรส่ง Error Message พร้อม Context
ตัวอย่าง
“ระบบนี้เกิด Error ต่อไปนี้:
[ใส่ Error Message]
ค้นหาไฟล์และ Function ที่เกี่ยวข้องใน Repository จากนั้นวิเคราะห์ Root Cause ที่เป็นไปได้ โดยยังไม่ต้องสร้าง Patch”
เมื่อได้สาเหตุแล้วจึงถามต่อ
“จาก Root Cause ที่พบ เสนอวิธีแก้ที่เปลี่ยน Code น้อยที่สุด และระบุผลกระทบต่อ Module อื่น”
Error → Trace Code → Root Cause → Proposed Fix → Review → Test
ไม่ควรเป็น
Error → ให้ AI Rewrite Code ทันที
หากต้องการปรับ Codebase ให้ดูแลง่ายขึ้น ใช้ Prompt
“ตรวจ Repository นี้แล้วจัดอันดับ 10 จุดที่ควร Refactor มากที่สุด โดยพิจารณา Code Duplication, Complexity, Coupling และ Maintainability แต่ยังไม่ต้องแก้ Code”
เมื่อเลือกปัญหาแล้วค่อยสั่ง
“Refactor เฉพาะ Module นี้ โดยรักษา Public API และ Behavior เดิมทั้งหมด”
ก่อนแก้ควรถามเพิ่มว่า
“ไฟล์ใดจะได้รับผลกระทบจากการ Refactor นี้”
ช่วยลดปัญหาการแก้ Module หนึ่งแล้วทำอีก Feature พัง
สามารถสั่งให้ตรวจจุดเสี่ยง เช่น
“ค้นหา Performance Bottleneck ที่เป็นไปได้ใน Repository นี้ โดยเน้น:
แต่ต้องเข้าใจว่า Source Code อย่างเดียวอาจไม่ยืนยัน Performance Problem ได้ทั้งหมด
ข้อมูลเพิ่มเติมที่อาจต้องใช้คือ
ให้ Gemini แยกว่า
พบจาก Code ชัดเจน
กับ
เป็นเพียงจุดที่ควรตรวจ Runtime เพิ่ม
สามารถใช้ AI เป็นผู้ช่วย Review เบื้องต้นได้
Prompt
“ตรวจ Repository นี้เพื่อหาประเด็น Security ที่ยืนยันได้จาก Source Code เช่น Input Validation, Authentication, Authorization, Secret Handling, SQL Injection, XSS และ Insecure Configuration
แยกผลเป็น:
อย่างไรก็ตาม ไม่ควรถือ Gemini เป็น Security Scanner ตัวเดียว
ระบบจริงควรใช้เครื่องมืออื่นร่วมด้วย เช่น
Prompt
“ตรวจ Repository นี้ก่อนว่าใช้ Test Framework อะไร แล้วหา Module สำคัญที่ยังขาด Test Coverage พร้อมเสนอ Test Case โดยเรียงตามความเสี่ยง”
จากนั้นเลือก Module แล้วสั่ง
“เขียน Unit Test สำหรับ Module นี้โดยใช้ Style และ Framework เดิมของ Repository”
การยึด Framework เดิมช่วยลดการสร้าง Test ที่ไม่เข้ากับโปรเจกต์
สามารถใช้ Gemini ช่วย Draft Documentation ได้ เช่น
“สร้าง Technical Documentation จาก Repository นี้ โดยประกอบด้วย:
ใช้เฉพาะข้อมูลที่พบใน Repository และระบุส่วนที่ Code ไม่สามารถตอบได้”
เหมาะกับโปรเจกต์ที่ README มีข้อมูลไม่ครบหรือไม่ได้อัปเดตมานาน
ไม่อัปเดตอัตโนมัติ
นี่เป็นข้อจำกัดสำคัญของฟีเจอร์
เมื่อ Import Repository เข้า Gemini แล้ว Codebase ที่ Gemini ใช้จะอยู่ในสถานะเดียวกับตอน Import
หาก GitHub มี Commit ใหม่หลังจากนั้น Gemini จะไม่ได้ Sync การเปลี่ยนแปลงเหล่านั้นเข้ามาเอง
ตัวอย่าง
เวลา 10:00 Import Repository
เวลา 11:00 Push Commit ใหม่
Gemini ในแชตเดิมไม่ควรถูกมองว่าเห็น Commit เวลา 11:00 โดยอัตโนมัติ
หากต้องการวิเคราะห์ Code ล่าสุด ควร Import Version ปัจจุบันอีกครั้งตาม Workflow ที่เหมาะสม
ปัจจุบัน GitHub Integration ของ Gemini Apps ไม่สามารถดึง Commit History จาก Repository มาให้วิเคราะห์ผ่านฟีเจอร์นี้ได้
จึงไม่เหมาะกับคำถามเช่น
“Commit ไหนทำให้ Bug นี้เกิดขึ้น”
หากข้อมูล Commit ไม่ได้ถูกนำเข้ามาเป็น Context ผ่านวิธีอื่น
GitHub Import ใน Gemini Apps ปัจจุบันไม่รองรับการดึง
ดังนั้นฟีเจอร์นี้เน้นที่ Codebase ที่ Import เข้ามา มากกว่าการทำหน้าที่เป็น GitHub Management Client เต็มรูปแบบ
ไม่ได้หมายความว่า Gemini จะอ่าน Repository โดยอัตโนมัติ
Google ระบุว่าการใส่ GitHub URL เข้า Prompt ตรง ๆ ไม่ใช่วิธีสำหรับให้ GitHub App อ่าน Repository
ควร Import ผ่าน
Add files → More uploads → Import code
แล้วใส่ Repository หรือ Branch URL ผ่านช่อง Import โดยเฉพาะ
ฟีเจอร์ GitHub Import ใน Gemini Apps ใช้สำหรับอ่านและวิเคราะห์ Repository
ปัจจุบัน Gemini ไม่สามารถใช้ GitHub App นี้เพื่อ Write Code กลับเข้า Repository โดยตรง
ดังนั้น Workflow ที่เหมาะสมคือ
GitHub Repository
↓
Import to Gemini
↓
Analyze
↓
Generate Suggested Code
↓
Developer Review
↓
Apply Changes
↓
Test
↓
Commit / Push
Developer ยังคงเป็นผู้ควบคุมการแก้ Source Code และการ Push ขึ้น Repository
ควรตรวจอย่างมาก
Repository อาจมีไฟล์เช่น
.env
config.json
credentials.json
service-account.json
private.key
หรือมี Secret ที่ถูก Commit ลง Git โดยไม่ตั้งใจ เช่น
ก่อนใช้ AI วิเคราะห์ควรตรวจ Repository ก่อนเสมอ
การลบจากไฟล์ล่าสุดอย่างเดียวอาจไม่เพียงพอสำหรับ Security จริง เพราะ Secret อาจอยู่ใน Git History
ควรพิจารณา
ตามความเหมาะสม
ถ้า Repository ใหญ่เกิน Limit สามารถแก้โดย
ใช้ Branch ที่ต้องการวิเคราะห์
หากระบบใหญ่มาก อาจแยก Service หรือ Component
สร้างสำเนา Local Code แล้วตัดไฟล์ที่ไม่จำเป็นออก จากนั้นใช้ Import Code Folder แทน
ไม่จำเป็นต้องใช้ Build Output ทุกกรณี
ถ้าไม่ได้เกี่ยวข้องกับ Logic
หลักคือให้ Gemini เห็น Source ที่เกี่ยวข้องกับปัญหา มากกว่าให้เห็นทุกไฟล์ที่มีในโปรเจกต์
ขั้นตอน Import Repository ปัจจุบันออกแบบให้ทำผ่าน Gemini Web App บนคอมพิวเตอร์
ฟีเจอร์ Import เองยังไม่เปิดให้ทำโดยตรงจาก Gemini Mobile App
แต่หลังจากเพิ่ม Repository เข้าแชตบนคอมพิวเตอร์แล้ว Google ระบุว่าสามารถเปิดแชตดังกล่าวต่อบน Gemini Mobile App หรือ Web บนอุปกรณ์มือถือได้
ข้อกำหนดปัจจุบันรวมถึง
ดังนั้นหากไม่พบ GitHub ใน Gemini ปัญหาอาจไม่ได้เกิดจาก Repository แต่เกิดจาก Account หรือ Workspace Policy
เริ่มจาก Gemini Web App
GitHub Connected App ต้องใช้เงื่อนไขบัญชีตามที่ Google กำหนด
ถ้าเป็น Private Repository ต้องใช้ Account ที่มีสิทธิ์จริง
ใช้ Repository URL หรือ Branch URL ที่ถูกต้อง
ไม่เกิน 100 MB
ไม่เกินประมาณ 5,000 ไฟล์
หากใช้บัญชีบริษัทหรือสถานศึกษา ให้ตรวจว่าผู้ดูแลเปิด Connected Apps หรือไม่
หาก Authorization มีปัญหา อาจลอง Disconnect แล้วเชื่อมใหม่ตามขั้นตอนที่ Gemini มีให้
หากไม่ต้องการเชื่อม GitHub แล้ว สามารถจัดการผ่าน Connected Apps ของ Gemini
โดยทั่วไปเข้า
Settings & help → Connected Apps
แล้วเลือก GitHub เพื่อดูรายละเอียดและ Disconnect
หากไม่เห็น Connected Apps อาจอยู่ภายใต้เมนู Personal Intelligence ใน UI บางเวอร์ชัน
การ Disconnect จะยกเลิกการเชื่อมบัญชีตามระบบที่ Google กำหนด
“อธิบาย Architecture, Entry Point, Module และ Data Flow ของ Repository นี้”
“สร้างลำดับไฟล์ที่ Developer ใหม่ควรศึกษาเพื่อเข้าใจโปรเจกต์”
“ค้นหาไฟล์ทั้งหมดที่เกี่ยวข้องกับระบบ Login”
“Trace Request นี้จาก Route จนถึง Database”
“วิเคราะห์ Error นี้และค้นหา Root Cause จาก Codebase ก่อนเสนอวิธีแก้”
“หา 10 จุดที่ควร Refactor มากที่สุดโดยยังไม่แก้ Code”
“ค้นหา Security Issue ที่ยืนยันได้จาก Source และแยกออกจากจุดที่ต้องตรวจเพิ่ม”
“ค้นหา Potential Performance Bottleneck และระบุข้อมูล Runtime ที่ต้องใช้ยืนยัน”
“ตรวจ Test Framework และหา Module สำคัญที่ยังขาด Test”
“สร้าง Technical Documentation จาก Repository โดยใช้เฉพาะข้อมูลที่ยืนยันจาก Code”
ได้ Gemini Apps มี GitHub Connected App สำหรับ Import Repository เข้าแชตแล้วถามเกี่ยวกับ Codebase
รองรับ แต่ต้องเชื่อม GitHub Account ที่มีสิทธิ์เข้าถึง Private Repository นั้นกับบัญชี Google ที่ใช้ Gemini
ปัจจุบันรองรับ 1 Repository ต่อแชต
ปัจจุบันรองรับสูงสุดประมาณ 5,000 ไฟล์
ขนาดรวมสูงสุดประมาณ 100 MB
ไม่ เมื่อ Repository ถูก Import แล้ว การเปลี่ยนแปลงใหม่ใน GitHub จะไม่ Sync เข้ามาใน Gemini โดยอัตโนมัติ
วิธีเชื่อม GitHub Repository กับ Gemini ทำได้จาก Gemini Web App บนคอมพิวเตอร์ โดยเลือก Add files → More uploads → Import code แล้วใส่ GitHub Repository หรือ Branch URL จากนั้นกด Import
ปัจจุบันรองรับ 1 Repository ต่อแชต สูงสุดประมาณ 5,000 ไฟล์ และขนาดรวม 100 MB ส่วน Private Repository ต้องเชื่อม GitHub Account ที่มีสิทธิ์เข้าถึง Repository นั้นก่อน
หลัง Import แล้ว Gemini เหมาะสำหรับทำความเข้าใจ Codebase, หา Function, Trace Flow, วิเคราะห์ Bug, วางแผน Refactor, สร้าง Test และ Draft Documentation แต่ไม่สามารถ Push Code กลับ Repository ผ่าน GitHub App นี้ และ Repository ที่ Import แล้วจะไม่ Sync Commit ใหม่โดยอัตโนมัติ
สำหรับการใช้งานบน comsiam แนวทางที่แนะนำคือให้ Gemini วิเคราะห์ Architecture → Flow → Root Cause → Proposed Change ก่อนสร้าง Code ทุกครั้ง และตรวจ Secret, Credential รวมถึงข้อมูลสำคัญใน Repository ก่อนนำ Source Code เข้ามาเป็น Context