6 điểm bởi neostom432 23 ngày trước | 12 bình luận | Chia sẻ qua WhatsApp

Nhìn những người mới bắt đầu vibe coding, họ luôn mắc kẹt ở cùng một chỗ. AI viết code rất ổn. Nhưng đến lúc nói “giờ thử đưa nó lên GitHub đi” thì họ khựng lại.

Mỗi lần chỉ cho bạn bè xung quanh vibe coding, tôi đều cảm thấy điều này: hễ nhắc đến những từ như commit, push, pull là họ sợ trước đã. “Đó là gì vậy?”, “Bấm vào có được không?”, “Code của mình có bay mất không?” — lần nào phản ứng cũng như vậy.

Các AI agent còn làm vấn đề nặng hơn. Chúng ném ra những từ như rebase, force push, detached HEAD mà không giải thích gì, rồi hỏi “Có chạy không?”. Không biết đó là gì nên rất sợ bấm xác nhận, mà từ chối thì cũng chẳng biết mình đang từ chối điều gì. Vì không có gì hiển thị trực quan nên lại càng bất an hơn.

Vì vậy tôi đã tạo một Agent Skill để Claude Code agent khi thực hiện các thao tác Git sẽ tự động đổi chúng sang ngôn ngữ dễ hiểu.

Nó thay đổi như thế nào

Save xong rồi đưa lên (tình huống phổ biến nhất):

🧺 Bước 1 — đang gom vào...  
   ✏️ src/App.tsx  [đã sửa]  
   🆕 src/Dashboard.tsx  [file mới]  
  
💾 Bước 2 — đang save...  
   ✅ "Thêm trang dashboard"  
   📁 Đã lưu 2 file  
  
☁️ Bước 3 — đang đưa lên GitHub...  
  
✅ Hoàn tất save + đưa lên GitHub!  
   💻 ═══ ✓ ═══ ☁️ GitHub  đã đồng bộ  
🟢 An toàn  [█░░░]  

Nếu là thao tác nguy hiểm thì cảnh báo rõ ràng:

⚠️⚠️⚠️ Ghi đè cưỡng bức ⚠️⚠️⚠️  
Toàn bộ lịch sử trên GitHub sẽ bị thay bằng của tôi!  
🔴 Nguy hiểm  [████]  
⚠️ Công việc mà người khác đã đưa lên có thể biến mất!  
Bạn có chắc muốn làm không?  

Khi kiểm tra trạng thái:

═══════════════════════════════════════  
📝  Đang làm việc — đã sửa 3 file, vẫn chưa save  
═══════════════════════════════════════  
  
📂 Thư mục làm việc (3)  →  🧺 đã gom  →  💾 save  →  ☁️ GitHub ✓  

Nếu có nhiều file thì gom theo thư mục để tóm tắt:

📂 Thư mục làm việc (27)  
   📁 src/pages/orders/     — 5 file (sửa 3 + file mới 2)  
   📁 src/hooks/orders/     — 2 file (file mới 2)  
   📁 .claude/skills/       — 5 file (file mới 5)  
   📁 Khác                  — 15 file  

Nếu có thứ gì đó chưa được đưa lên GitHub:

⬆️ Có 2 bản save chưa được đưa lên GitHub  
  
   💻 "Bổ sung pipeline review"  (5 ngày trước)  
   💻 "Thêm kỹ năng trợ giúp Git"  (vừa xong)  
  
   Không nguy hiểm đâu. Chỉ là chưa backup thôi.  

Nếu xảy ra xung đột:

💥 Xung đột! Nhưng đừng lo.  
  
Cả hai bên đều sửa cùng một file nên không thể tự động gộp được.  
Hãy chọn bạn muốn dùng phần code của bên nào:  
   1️⃣ Dùng code của tôi  
   2️⃣ Dùng code của phía bên kia  
   3️⃣ Gộp cả hai  

Chuyển đổi thuật ngữ

  • commit → 💾 save
  • push → ☁️ đưa lên GitHub
  • pull → 📥 kéo về
  • branch → 🌿 bản sao
  • merge → 🤝 gộp
  • stage/add → 🧺 gom vào
  • conflict → 💥 xung đột

Những thứ này cũng làm được

  • Giải thích các câu hỏi nhập môn như “Git là gì?” bằng phép so sánh với save game
  • Tự động chặn nếu các file nguy hiểm như .env, node_modules sắp bị đưa lên
  • Dịch 17 loại lỗi Git sang tiếng Hàn (rejected → “Có nội dung mới được đưa lên GitHub rồi. Hãy kéo về trước rồi đưa lên lại”)
  • Hướng dẫn khôi phục trong tình huống hoảng loạn kiểu “Toàn bộ code của tôi biến mất rồi!”

Cài đặt

Chỉ cần copy thư mục một lần + thêm 3 dòng vào CLAUDE.md là xong. Không cần build, không cần server, không có dependency.

mkdir -p .claude/skills  
cp -r dont-git-afraid .claude/skills/  

Ban đầu tôi định làm nó thành MCP server, nhưng rồi nghĩ “Bảo người đang sợ Git chạy npm install rồi build server à?” nên đã chuyển hướng sang Agent Skill (SKILL.md).

12 bình luận

 

Việc câu lệnh cố định là Đừng hiển thị lệnh Git. Hãy ẩn các lệnh git thực tế. thì hơi đáng tiếc một chút.
Người học đâu thể sống cả đời né tránh các lệnh Git, nên sẽ tốt hơn nếu tùy theo trình độ của người học mà ban đầu ẩn lệnh Git, sau đó về sau hiển thị song song, và cuối cùng có thể bỏ hẳn kỹ năng đó đi để sử dụng.


Tôi cũng không nghĩ bài viết này làm tổn hại đến bản chất của trang web. +1

 

Bỏ qua chuyện những phản ứng trước đó là công kích hay phòng thủ, tôi nghĩ ở mức nào đó vẫn có thể hiểu được. Tôi cho rằng việc GeekNews bao quát mọi chủ đề, bất kể độ sâu đến đâu, là điều gần như bất khả thi. Có vẻ như hiện tại chúng ta đang ở một điểm uốn khi dòng chảy lớn đang thay đổi, nên chắc chắn sẽ có những nhóm người cảm thấy tiếc nuối vì điều đó. Nhưng dù vậy, cũng không thể cưỡng ép thay đổi dòng chảy ấy được.

 

Tác nhân xóa nỗi sợ Git à... đúng là có thể hạ thấp đến mức này luôn nhỉ.

 
neostom432 22 ngày trước

Ôi trời.. xin lỗi vì tôi đã đăng một bài làm giảm đi phẩm chất của cộng đồng.
Tôi đã ngộ nhận rằng có thể sẽ có người quan tâm vì nghe nói những người bạn xung quanh mới bắt đầu vibe coding đọc GeekNews khá nhiều.
Lần này mong mọi người rộng lượng bỏ qua, từ sau tôi sẽ cẩn thận hơn khi đăng bài.

 

Việc đáp lại bằng giọng mỉa mai chỉ vì người khác không hưởng ứng ý tưởng của mình cũng không có vẻ là điều hay.

 
neostom432 22 ngày trước

Xin lỗi vì đã gây ra hiểu lầm. Do tôi còn thiếu sự thấu hiểu về cộng đồng nên đã có những chỗ làm tổn hại đến bản chất của vấn đề, vì vậy với sự hối lỗi sâu sắc tôi đã để lại bình luận trả lời, nhưng vì không phải trao đổi trực tiếp mặt đối mặt nên sự chân thành của tôi đã không được truyền đạt trọn vẹn. Xin lỗi.

 

Từ góc độ của một lập trình viên, tôi không cho rằng bài viết này làm tổn hại đến bản chất của trang web.
Trang web này là nơi chia sẻ kiến thức về phát triển, và phát triển là giải quyết vấn đề bằng công nghệ; bài viết này là chia sẻ về việc giải quyết khó khăn của vibe coder bằng kỹ năng agent, nên theo quan điểm của tôi thì hoàn toàn không có vấn đề gì.

 
runableapp 22 ngày trước

Dù vẫn nên biết những kiến thức cơ bản, nhưng các tính năng như cơ chế an toàn thì khá hay.

 
moderator 22 ngày trước

Những cách diễn đạt như “mẫu giáo” có thể bị hiểu là hạ thấp người mới bắt đầu hoặc tác giả. GeekNews hướng tới bầu không khí trao đổi thân thiện và nhã nhặn với nhau, nên nếu bạn có ý kiến, xin hãy tập trung vào nội dung và nói rõ điểm nào còn đáng tiếc.

Tôi nghĩ GeekNews nên là một không gian cũng chào đón cả những thử nghiệm của người mới bắt đầu. Có thể chỉ ra những điểm còn thiếu sót, nhưng với người đã công khai làm ra thứ gì đó và chia sẻ, ít nhất vẫn cần có sự tôn trọng tối thiểu.

 
neostom432 22 ngày trước

Mọi người xung quanh thường hay giới thiệu GeekNews như một nguồn thông tin rất hữu ích cho những bạn mới bắt đầu vibe coding. Vì vậy lẽ ra tôi nên đăng một tác phẩm chất lượng cao, đủ để trở thành thông tin tốt, nhưng lại đăng một bài về nội dung quá cơ bản, nên tôi thấy rất áy náy vì dường như đã làm giảm danh tiếng của cộng đồng.
Từ lần sau, tôi sẽ suy nghĩ kỹ thêm một lần nữa trước khi đăng bài.

 

Tôi không có ý viết bình luận đó theo nghĩa như vậy, và nếu điều đó khiến bạn thấy không thoải mái thì tôi xin lỗi. Tôi nghĩ đây là một ý tưởng đủ hữu ích và hay cho những người mới bắt đầu thậm chí còn chưa biết Git.

 
neostom432 22 ngày trước

Tôi thành thật xin lỗi vì không hề cảm thấy bất tiện, mà chỉ là có lẽ tôi đã không suy nghĩ đến bản chất của cộng đồng. Xin lỗi.