light-background

Vibe Coding thực chiến: Từ AI viết code đến GitHub

Mục lục
Thái Duy Khang

Thái Duy Khang

Đăng ngày: 18/08/2026
Vibe coding thuc chien Tu AI viet code den Github 2

Các bài trong series Vibe Coding


AI có thể giúp bạn tạo một website, REST API, dashboard, landing page hoặc thậm chí một ứng dụng hoàn chỉnh chỉ bằng những câu lệnh tự nhiên.

Bạn có thể yêu cầu AI:

“Tạo cho tôi một website bán hàng bằng Next.js.”

Hoặc:

“Tạo một API Node.js kết nối PostgreSQL.”

Hoặc:

“Tạo một dashboard quản lý khách hàng có đăng nhập.”

Sau một thời gian làm việc với AI, bạn có thể có một project chạy khá tốt trên máy tính.

Nhưng lúc này một vấn đề mới xuất hiện:

Code đã có, nhưng quản lý code như thế nào?

Nếu tiếp tục lưu project bằng những thư mục như:

Bash
project-final
project-final-2
project-final-new
project-final-new-2
project-final-ok

thì sớm muộn bạn cũng sẽ gặp vấn đề.

Bạn không biết:

  • thay đổi nào đã được thực hiện?
  • AI đã sửa file nào?
  • phiên bản trước đang ở đâu?
  • làm thế nào quay lại code cũ?
  • làm thế nào chuyển project sang máy khác?
  • làm thế nào chia sẻ project?
  • làm thế nào để server lấy code mới?
  • làm thế nào kết nối project với CI/CD?

Đây chính là lúc Git và GitHub trở thành một phần quan trọng trong workflow Vibe Coding.

Trong bài này, chúng ta sẽ thực hành toàn bộ quy trình:

Bash
Ý tưởng
   
AI viết code
   
Kiểm tra project
   
Git
   
GitHub
   
Repository hoàn chỉnh

Mục tiêu là sau khi hoàn thành bài viết, bạn có thể tự mình đưa một project do AI tạo ra lên GitHub theo cách tương đối chuẩn và an toàn.

Vibe coding thực chiến

1. Vibe Coding không chỉ là AI viết code

Trước tiên cần hiểu một điều:

Vibe Coding không đồng nghĩa với việc giao toàn bộ công việc cho AI.

AI có thể giúp bạn viết code nhanh hơn rất nhiều. Nhưng một project thực tế vẫn cần:

  • quản lý source code.
  • kiểm tra thay đổi.
  • quản lý dependency.
  • quản lý environment.
  • lưu lịch sử phiên bản.
  • backup source code.
  • cộng tác.
  • deployment.

Đó là lý do workflow thực tế thường có dạng:

Bash
AI

Source Code

Git

GitHub

CI/CD / Deployment

Ở bài này chúng ta chỉ tập trung vào:

Bash
AI  Git  GitHub

2. Git và GitHub có giống nhau không?

Đây là một trong những nhầm lẫn phổ biến nhất của người mới.

Git là gì?

Git là hệ thống quản lý phiên bản mã nguồn — Version Control System.

Git chạy trên máy tính của bạn. Nó giúp ghi lại lịch sử thay đổi của project.

Ví dụ:

Bash
Commit 1

Tạo project

Commit 2

Thêm login

Commit 3

Thêm dashboard

Commit 4

Sửa lỗi authentication

Bạn có thể xem lại lịch sử:

Bash
git log

GitHub là gì?

GitHub là một nền tảng lưu trữ và cộng tác trên Git repository.

Có thể hình dung đơn giản:

Bash
Git
 
Quản  phiên bản trên máy

Trong khi:

Bash
GitHub
 
Lưu repository online
 
Chia sẻ
 
Collaborate
 
Pull Request
 
CI/CD

Vì vậy:

Git không phải GitHub.

Bạn có thể sử dụng Git mà không cần GitHub. Nhưng trong workflow Vibe Coding hiện đại, GitHub rất hữu ích vì nó trở thành cầu nối giữa source code và các hệ thống deployment sau này.


3. Vì sao Vibe Coder nên sử dụng GitHub?

Giả sử bạn có một project AI-generated.

Nếu không sử dụng Git:

Bash
my-project/

Bạn sửa code 20 lần.

Sau đó AI làm hỏng một phần quan trọng.

Bạn sẽ phải tự tìm:

“Trước lúc AI sửa thì file này như thế nào?”

Nếu sử dụng Git:

Bash
Commit 1
Commit 2
Commit 3
Commit 4
Commit 5

Bạn có lịch sử thay đổi.

Có thể xem:

Bash
git log --oneline

Ví dụ:

Bash
f92ab31 Add customer dashboard
a8312df Fix login validation
2ac71fe Add authentication
9d32a01 Initial project

Bạn biết chính xác project đã thay đổi như thế nào.


4. Workflow GitHub dành cho Vibe Coder

Một workflow đơn giản nhưng hiệu quả:

Bash
AI tạo feature

Bạn kiểm tra

Chạy thử

Git status

Git diff

Git add

Git commit

Git push

GitHub

Điểm quan trọng là:

Không nên để AI sửa project liên tục hàng chục lần rồi mới commit.

Thay vào đó:

Bash
Feature

Test

Commit

Mỗi commit nên đại diện cho một thay đổi có ý nghĩa.


5. Chuẩn bị Ubuntu

Trong bài này sử dụng Ubuntu để thực hành.

Bạn có thể sử dụng:

  • Ubuntu Desktop.
  • Ubuntu Server.
  • Ubuntu VPS.
  • Ubuntu trong máy ảo.
  • Ubuntu thông qua WSL2 trên Windows.

Kiểm tra phiên bản Ubuntu:

Bash
lsb_release -a

Hoặc:

Bash
cat /etc/os-release

6. Cài Git trên Ubuntu

Cập nhật package:

Bash
sudo apt update

Cài Git:

Bash
sudo apt install git -y

Kiểm tra:

Bash
git --version

Ví dụ:

Bash
git version 2.43.0

Phiên bản cụ thể có thể khác tùy phiên bản Ubuntu.


7. Cấu hình Git lần đầu

Sau khi cài Git, hãy cấu hình tên:

Bash
git config --global user.name "Your Name"

Cấu hình email:

Bash
git config --global user.email "your@email.com"

Kiểm tra:

Bash
git config --global --list

Ví dụ:

Bash
user.name=Your Name
user.email=your@email.com

Email này sẽ được Git sử dụng để ghi nhận tác giả của commit.


8. Tạo project bằng AI

Giả sử bạn đang xây dựng một ứng dụng Node.js.

Bạn yêu cầu AI:

Tạo một REST API bằng Node.js và Express.
API có endpoint /api/health.
Endpoint trả về JSON { "status": "ok" }.
Project có package.json và có thể chạy bằng npm.

AI có thể tạo:

Bash
my-vibe-app/
├── package.json
├── package-lock.json
└── server.js

Ví dụ:

Bash
const express = require("express");

const app = express();

const PORT = process.env.PORT || 3000;

app.get("/api/health", (req, res) => {
  res.json({
    status: "ok"
  });
});

app.listen(PORT, "0.0.0.0", () => {
  console.log(`Server running on port ${PORT}`);
});

9. Đừng vội git add .

Đây là thói quen rất quan trọng mà Vibe Coder nên hình thành.

Khi AI tạo project, bạn không nên lập tức chạy:

Bash
git add .

Trước tiên phải kiểm tra:

Bash
Project  gì?

 secret không?

 .env không?

 node_modules không?

 file build không?

 credential không?

Sau đó mới đưa những file cần thiết vào Git.


10. Kiểm tra cấu trúc project

Di chuyển vào project:

Bash
cd ~/my-vibe-app

Kiểm tra:

Bash
ls -la

Bạn có thể thấy:

Bash
.
..
package.json
package-lock.json
server.js

Nếu project lớn hơn:

Bash
src/
public/
components/
lib/
app/
package.json
.env
node_modules/

thì càng cần kiểm tra kỹ.


11. Những file không nên đưa lên GitHub

Một project AI-generated thường có rất nhiều file không cần commit.

Ví dụ:

Bash
node_modules/
.env
.env.local
dist/
build/
.next/
coverage/

Hoặc các file chứa:

Bash
API key
Password
Token
Private key
Database credential
Cloud credential

Không nên đưa những dữ liệu này vào repository.

Đặc biệt, GitHub cảnh báo không nên commit password hoặc các thông tin xác thực nhạy cảm vào repository. Nếu secret đã bị push, việc xóa file sau đó không đồng nghĩa với việc secret đã biến mất khỏi Git history.

Vì vậy:

Hãy ngăn secret đi vào Git ngay từ đầu.


12. .gitignore là gì?

.gitignore là file giúp Git biết những file nào không nên được theo dõi.

Tạo:

Bash
touch .gitignore

Ví dụ với Node.js:

Bash
node_modules/
.env
.env.*
!.env.example

npm-debug.log*
yarn-debug.log*
pnpm-debug.log*

dist/
build/
.next/

coverage/

.DS_Store

13. Tại sao .gitignore cực kỳ quan trọng với Vibe Coding?

AI có thể tạo:

Bash
.env

mà bạn không để ý.

Nếu .env chưa nằm trong .gitignore, lệnh:

Bash
git add .

có thể đưa nó vào staging.

Bạn commit:

Bash
git commit -m "Initial commit"

và sau đó push:

Bash
git push

Secret đã lên GitHub.

Vì vậy hãy tạo .gitignore trước commit đầu tiên.


14. .env.env.example

Đây là một workflow rất nên áp dụng.

Giả sử project cần:

Bash
DATABASE_URL=postgres://user:password@localhost:5432/app
JWT_SECRET=my-secret
API_KEY=xxxxxxxx

Bạn lưu thông tin thật trong:

Bash
.env

Nhưng:

Bash
.env

không commit.

Thay vào đó tạo:

Bash
.env.example

Ví dụ:

Bash
DATABASE_URL=
JWT_SECRET=
API_KEY=

File này có thể commit lên GitHub.

Mục đích:

Cho biết project cần những environment variable nào nhưng không tiết lộ giá trị thật.


15. Khởi tạo Git repository

Sau khi kiểm tra project:

Bash
git init -b main

Nếu Git của bạn không hỗ trợ:

Bash
git init -b main

có thể dùng:

Bash
git init
git branch -M main

Kiểm tra:

Bash
git status

Kết quả có thể giống:

Bash
On branch main

No commits yet

Untracked files:
  .gitignore
  package.json
  package-lock.json
  server.js

16. Hiểu git status

Nếu chỉ nhớ một command khi làm việc với Git, hãy nhớ:

Bash
git status

Nó cho bạn biết:

  • branch hiện tại;
  • file chưa được theo dõi;
  • file đã thay đổi;
  • file đang staging;
  • trạng thái repository.

Ví dụ:

Bash
Untracked files:
server.js

có nghĩa Git biết file tồn tại nhưng chưa theo dõi nó.


17. Git có 3 khu vực quan trọng

Một cách đơn giản để hiểu Git:

Bash
Working Directory

Staging Area

Repository

Khi bạn sửa file:

Bash
Working Directory

Khi chạy:

Bash
git add .

file đi vào:

Bash
Staging Area

Khi chạy:

Bash
git commit

thay đổi được ghi vào:

Bash
Git Repository

Có thể hình dung:

Bash
Code
 
git add
 
Staging
 
git commit
 
History

18. git add hoạt động như thế nào?

Chạy:

Bash
git add .

Dấu . nghĩa là thêm các thay đổi trong thư mục hiện tại vào staging.

Kiểm tra:

Bash
git status

Bạn sẽ thấy các file dưới:

Bash
Changes to be committed

Đây là lúc bạn nên kiểm tra lại một lần nữa.


19. Kiểm tra nội dung trước khi commit

Chạy:

Bash
git diff --cached

Command này cho bạn xem những thay đổi đang chuẩn bị được commit.

Đây là một thói quen rất tốt:

Bash
git status

git diff --cached

git commit

Đặc biệt hữu ích khi AI vừa sửa rất nhiều file.


20. Tạo commit đầu tiên

Nếu mọi thứ ổn:

Bash
git commit -m "Initial commit"

Kiểm tra:

Bash
git log --oneline

Ví dụ:

Bash
8e23a41 Initial commit

Bạn vừa tạo snapshot đầu tiên của project.


21. Commit nên đặt tên thế nào?

Không nên:

Bash
git commit -m "update"

hoặc:

Bash
git commit -m "fix"

Nên mô tả rõ thay đổi:

Bash
git commit -m "Add health check API"
Bash
git commit -m "Add authentication"
Bash
git commit -m "Fix login validation"
Bash
git commit -m "Update dashboard layout"

Một commit tốt thể hiện được:

Commit này đã thay đổi điều gì?


22. Workflow commit phù hợp với Vibe Coding

Giả sử bạn yêu cầu AI:

Thêm chức năng đăng nhập.

AI sửa:

Bash
auth.js
login.js
middleware.js

Bạn test.

Nếu hoạt động:

Bash
git status
git diff
git add .
git commit -m "Add user authentication"

Sau đó yêu cầu AI: Thêm dashboard

AI sửa tiếp.

Test:

Bash
git status
git diff

Commit:

Bash
git add .
git commit -m "Add user dashboard"

Lịch sử lúc này:

Bash
Add user dashboard
Add user authentication
Initial commit

Đây chính là cách Git trở thành “bộ nhớ” của project.


23. Tạo repository trên GitHub

Đăng nhập GitHub.

Chọn:

New repository

Đặt tên:

Bash
my-vibe-app

Bạn có thể chọn:

Bash
Private

cho project cá nhân.

Nếu muốn chia sẻ source code:

Bash
Public

Lưu ý quan trọng

Nếu bạn đã có project local, không cần tạo thêm README, .gitignore hoặc license trên GitHub nếu bạn muốn tránh việc repository remote có commit ban đầu khác với repository local.

Bạn có thể tạo một repository trống rồi push project local lên.


24. Kết nối Git local với GitHub

GitHub repository sẽ có địa chỉ dạng:

Bash
https://github.com/YOUR_USERNAME/my-vibe-app.git

Trong project local:

Bash
git remote add origin https://github.com/YOUR_USERNAME/my-vibe-app.git

Kiểm tra:

Bash
git remote -v

Kết quả:

Bash
origin  https://github.com/YOUR_USERNAME/my-vibe-app.git (fetch)
origin  https://github.com/YOUR_USERNAME/my-vibe-app.git (push)

origin chỉ là tên phổ biến được đặt cho remote repository.


25. Push project lên GitHub

Sau khi kết nối:

Bash
git push -u origin main

Giải thích:

Bash
git push

→ gửi commit lên remote.

Bash
origin

→ remote GitHub.

Bash
main

→ branch muốn push.

Sau khi hoàn thành, mở repository trên GitHub. Bạn sẽ thấy source code.


26. GitHub lúc này trở thành “nguồn sự thật” của source code

Workflow của bạn đã chuyển từ:

Bash
Project chỉ nằm trên máy

thành:

Bash
Local Project
      
     Git
      
   GitHub

Điều này có rất nhiều lợi ích.

Bạn có thể:

  • làm việc trên máy khác.
  • backup source code.
  • chia sẻ project.
  • theo dõi lịch sử.
  • tạo branch.
  • tạo Pull Request.
  • kết nối CI/CD.
  • kết nối hệ thống deployment.

27. git clone: đưa project từ GitHub về máy khác

Giả sử bạn chuyển sang một máy Ubuntu khác.

Không cần copy toàn bộ thư mục project bằng USB.

Chỉ cần:

Bash
git clone https://github.com/YOUR_USERNAME/my-vibe-app.git

Sau đó:

Bash
cd my-vibe-app

Bạn đã có source code.

Đây là một trong những lý do GitHub đặc biệt hữu ích với Vibe Coder.


28. git pull: lấy code mới nhất

Giả sử bạn làm việc trên máy A.

Bạn sửa code:

Bash
git add .
git commit -m "Add user profile"
git push

Sau đó chuyển sang máy B.

Chạy:

Bash
git pull

Máy B sẽ lấy thay đổi mới từ GitHub.

Workflow:

Bash
Máy A
 
git push
 
GitHub
 
git pull
 
Máy B

29. git pushgit pull

Hai command này rất dễ nhớ:

Bash
git push

→ Local → GitHub

Bash
git pull

→ GitHub → Local

Có thể hình dung:

Bash
             GitHub
                  
       push          pull
                    
       Local       Local

30. Git branch là gì?

Khi project phát triển, bạn không nhất thiết phải sửa trực tiếp trên main.

Bạn có thể tạo branch:

Bash
git checkout -b feature/login

Hoặc với Git hiện đại:

Bash
git switch -c feature/login

Kiểm tra:

Bash
git branch

Ví dụ:

Bash
* feature/login
  main

Bạn đang làm việc trên:

Bash
feature/login

31. Vì sao branch hữu ích khi Vibe Coding?

AI có thể tạo ra thay đổi lớn.

Ví dụ bạn muốn thử:

“Hãy redesign toàn bộ dashboard.”

Thay vì sửa trực tiếp main:

Bash
main

tạo:

Bash
feature/new-dashboard

AI có thể thay đổi hàng chục file.

Bạn test.

Nếu tốt:

Bash
feature/new-dashboard
        
Pull Request
        
main

Nếu tệ:

Bash
Xóa branch

main vẫn an toàn.


32. Branch workflow đơn giản cho Vibe Coder

Bạn không cần ngay lập tức học Git Flow phức tạp.

Có thể bắt đầu:

Bash
main

├── feature/login
├── feature/dashboard
└── fix/payment-error

Workflow:

Bash
Tạo branch

AI coding

Test

Commit

Push branch

Pull Request

Merge main

33. Pull Request là gì?

Pull Request, thường gọi là PR, là đề nghị đưa thay đổi từ một branch vào branch khác.

Ví dụ:

Bash
feature/login
      
Pull Request
      
main

PR cho phép bạn:

  • xem code thay đổi.
  • review.
  • thảo luận.
  • chạy automated checks.
  • quyết định có merge hay không.

Đây là bước rất hữu ích khi project bắt đầu lớn.


34. Vibe Coding + Pull Request

Một workflow khá mạnh là:

Bash
Bạn
 
Yêu cầu AI tạo feature
 
AI sửa code
 
Bạn test
 
Git commit
 
Push branch
 
GitHub Pull Request
 
Review
 
Merge

Nếu làm việc nhóm, người khác có thể review.

Nếu làm một mình, PR vẫn hữu ích vì bạn có một checkpoint rõ ràng trước khi đưa thay đổi vào main.


35. Một workflow tốt hơn khi làm việc với AI

Thay vì nói:

“Làm toàn bộ tính năng này.”

Bạn có thể chia nhỏ:

Bash
Task 1

AI code

Test

Commit

Task 2

AI code

Test

Commit

Task 3

AI code

Test

Commit

Ví dụ:

Bash
Initial commit

Add database schema

Add authentication

Add user dashboard

Add API validation

Fix authentication bug

Khi đó nếu AI tạo lỗi:

Bạn biết lỗi có khả năng xuất hiện từ commit nào.


36. git diff – công cụ Vibe Coder nên sử dụng thường xuyên

Sau khi AI sửa code:

Bash
git diff

Bạn sẽ thấy chính xác:

  • dòng nào bị xóa.
  • dòng nào được thêm.
  • file nào thay đổi.

Ví dụ:

Bash
- const PORT = 3000;
+ const PORT = process.env.PORT || 3000;

Điều này cực kỳ hữu ích.

Thay vì tin rằng:

“AI nói đã sửa đúng.”

Bạn có thể tự kiểm tra:

“AI thực sự đã thay đổi những gì?”


37. Kiểm tra lịch sử một file

Có thể xem lịch sử:

Bash
git log -- server.js

Hoặc:

Bash
git log -p -- server.js

Bạn có thể biết file đó đã thay đổi qua các commit như thế nào.


38. Quay lại commit trước

Một trong những giá trị lớn nhất của Git là khả năng phục hồi.

Xem commit:

Bash
git log --oneline

Ví dụ:

Bash
e12f331 Add dashboard
a81b210 Add authentication
29ac011 Initial commit

Nếu cần kiểm tra phiên bản cũ:

Bash
git checkout 29ac011

Hoặc với Git hiện đại:

Bash
git switch --detach 29ac011

Điều này cho phép bạn xem source code tại thời điểm commit đó.

Lưu ý: đừng tùy tiện reset hoặc force-push branch đang dùng chung nếu chưa hiểu rõ tác động.


39. git resetgit revert khác nhau

Đây là phần Vibe Coder nên biết cơ bản.

git revert

Tạo một commit mới để đảo ngược thay đổi.

Phù hợp khi commit đã được push lên repository dùng chung.

Ví dụ:

Bash
git revert <commit>

git reset

Di chuyển lại HEAD/branch về một trạng thái khác và có thể thay đổi lịch sử.

Ví dụ:

Bash
git reset --hard HEAD~1

Lệnh này có thể làm mất các thay đổi local chưa lưu.

Vì vậy:

Đừng copy git reset --hard từ AI nếu bạn chưa hiểu nó đang xóa gì.


40. Authentication với GitHub

Khi push code lên GitHub, GitHub cần xác thực bạn có quyền ghi vào repository hay không.

Có hai phương án phổ biến:

HTTPS

Bash
https://github.com/username/project.git

SSH

Bash
git@github.com:username/project.git

Đối với người mới, HTTPS có thể dễ hiểu hơn.

Đối với workflow phát triển lâu dài, SSH rất tiện vì sau khi cấu hình bạn có thể push/pull mà không phải xử lý credential theo cách thủ công mỗi lần.


41. Sử dụng SSH với GitHub

Tạo SSH key:

Bash
ssh-keygen -t ed25519 -C "your@email.com"

Nhấn Enter để sử dụng đường dẫn mặc định nếu phù hợp.

Sau đó lấy public key:

Bash
cat ~/.ssh/id_ed25519.pub

Copy nội dung.

Trong GitHub:

Settings → SSH and GPG keys → New SSH key

Paste public key.

Kiểm tra kết nối:

Bash
ssh -T git@github.com

Nếu thành công, GitHub sẽ xác nhận bạn đã xác thực.


42. Chuyển remote từ HTTPS sang SSH

Nếu đang dùng:

Bash
https://github.com/username/my-vibe-app.git

có thể đổi:

Bash
git remote set-url origin git@github.com:username/my-vibe-app.git

Kiểm tra:

Bash
git remote -v

Sau đó:

Bash
git push

43. Những lỗi GitHub phổ biến

Permission denied

Ví dụ:

Bash
Permission denied (publickey).

Có thể do:

  • SSH key chưa được thêm vào GitHub;
  • ssh-agent chưa có key;
  • remote URL sai;
  • đang sử dụng sai account.

Kiểm tra:

Bash
ssh -T git@github.com

Repository not found

Kiểm tra:

Bash
git remote -v

Có thể repository URL sai.


Authentication failed

Nếu sử dụng HTTPS, kiểm tra credential/authentication hiện tại và cách GitHub yêu cầu xác thực.

Không nên gửi password hoặc token vào chat, source code hoặc commit.


44. Lỗi phổ biến nhất: commit .env

Nếu bạn phát hiện:

Bash
.env

đã xuất hiện trên GitHub và file có secret:

Không chỉ đơn giản xóa file rồi commit tiếp.

Ví dụ:

Bash
rm .env
git add .
git commit -m "Remove env"
git push

Secret có thể vẫn tồn tại trong Git history.

Cần:

  1. Rotate/revoke secret đã lộ.
  2. Xóa secret khỏi repository/history nếu cần.
  3. Tạo credential mới.
  4. Kiểm tra lại repository.

Nguyên tắc:

Một secret đã push lên GitHub nên được xem như đã bị lộ.


45. Không đưa .env lên GitHub không có nghĩa production không cần environment variables

Đây là điểm nhiều người mới nhầm.

Local:

Bash
.env

Production:

Bash
Environment Variables

Ví dụ:

Bash
DATABASE_URL
JWT_SECRET
API_KEY

có thể được cấu hình trong hệ thống deployment.

Sau này khi sử dụng Coolify, các environment variables có thể được cấu hình trong application thay vì commit secret vào Git.


46. AI có thể giúp bạn với Git, nhưng đừng copy lệnh mù quáng

Bạn hoàn toàn có thể hỏi AI:

“Tôi vừa tạo branch feature/login, hãy hướng dẫn tôi commit và push branch này.”

Hoặc:

“Đây là output của git status, hãy giải thích cho tôi từng phần.”

Hoặc:

“Đây là git diff, hãy kiểm tra xem AI vừa thay đổi những gì.”

Đây là cách sử dụng AI rất hiệu quả.

Nhưng hãy đặc biệt cẩn thận với các command:

Bash
git reset --hard
git clean -fd
git push --force

Đây là những command có thể làm mất dữ liệu hoặc thay đổi lịch sử repository.


47. Prompt mẫu: nhờ AI audit Git repository

Bạn có thể đưa prompt sau cho AI:

Bash
Hãy audit Git repository của project hiện tại.

Kiểm tra:
1. Git repository đã được khởi tạo đúng chưa.
2. Branch hiện tại  gì.
3.  file nào chưa được track không.
4.  file nào đáng lẽ phải nằm trong .gitignore không.
5.  .env hoặc secret nào  nguy  bị commit không.
6. Commit gần nhất thay đổi những gì.
7. Remote origin đang trỏ đến đâu.
8.  vấn đề nào trước khi push lên GitHub không.

Không tự ý chạy git reset, git clean hoặc git push --force.
Chỉ phân tích  đề xuất trước.

Prompt này đặc biệt hữu ích khi bạn đang làm việc với AI coding agent.


48. Prompt mẫu: yêu cầu AI chuẩn hóa project trước GitHub

Bash
Tôi chuẩn bị đưa project này lên GitHub.

Hãy kiểm tra toàn bộ project  đề xuất cấu trúc repository phù hợp.

Yêu cầu:
- Tạo .gitignore phù hợp với framework hiện tại.
- Không commit node_modules.
- Không commit .env.
- Không commit API key, password hoặc secret.
- Tạo .env.example nếu project sử dụng environment variables.
- Kiểm tra package.json  lock file.
- Kiểm tra README.
- Không xóa source code.
- Không chạy git push.
- Không tạo commit.

Trước tiên hãy audit  liệt  những  cần thay đổi.

Điểm quan trọng là yêu cầu AI:

Audit trước, sửa sau.


49. Từ GitHub đến CI/CD

Đây là lúc GitHub bắt đầu trở nên quan trọng hơn rất nhiều.

Hiện tại:

Bash
AI
 
Git
 
GitHub

Nhưng sau này chúng ta có thể có:

Bash
AI
 
Git
 
GitHub
 
CI/CD
 
VPS

Ví dụ bạn sửa code:

Bash
git add .
git commit -m "Update landing page"
git push

Sau đó hệ thống deployment có thể tự động:

Bash
GitHub
 
Phát hiện commit mới
 
Build
 
Test
 
Deploy

Bạn không cần mỗi lần sửa code lại copy source code thủ công lên VPS.

Code xong rồi, deploy ở đâu?

Đưa code lên GitHub mới chỉ là bước đầu. Khi muốn biến project AI-generated thành một ứng dụng chạy thật, bạn cần một môi trường server ổn định để triển khai và vận hành.

VPS EZ TECH giúp Vibe Coder chủ động chạy website, API và ứng dụng Docker trên VPS riêng.

AI → GitHub → Docker → VPS → Production

👉 Khám phá các gói VPS vSAN của EZ TECH

👉 Khám phá các gói VPS giá rẻ của EZ TECH

Đó chính là nền tảng của workflow GitHub → Coolify → VPS mà chúng ta sẽ triển khai ở các bài sau.


50. Tại sao GitHub nên xuất hiện trước Docker?

Workflow của một Vibe Coder có thể được tổ chức như sau:

Bash
AI
 
Source Code
 
GitHub
 
Docker
 
Deployment

GitHub đóng vai trò là nguồn source code.

Docker đóng vai trò đóng gói application.

Sau đó hệ thống deployment lấy source code từ GitHub và build/deploy application.

Vì vậy, học GitHub trước Docker là một trình tự hợp lý cho người mới.


51. GitHub không phải nơi để “ném toàn bộ project vào”

Một repository tốt không nhất thiết chứa mọi thứ trên máy tính.

Nó nên chứa:

Bash
Source code
Configuration template
Documentation
Dependency manifest
Build configuration

Không nên chứa:

Bash
node_modules
.env
secret
log
cache
temporary files
large generated files

Hãy nghĩ:

GitHub là source repository, không phải ổ cứng backup toàn bộ máy tính.


52. Repository chuẩn cho một project Vibe Coding

Sau khi chuẩn hóa, project có thể có:

Bash
my-vibe-app/

├── .git/
├── .gitignore
├── .env.example
├── README.md
├── package.json
├── package-lock.json

├── src/
   ├── app.js
   ├── routes/
   ├── controllers/
   └── services/

└── public/

Không có:

Bash
.env
node_modules/

Repository như vậy sẽ dễ dàng chuyển sang bước Docker và deployment hơn.


53. Checklist trước khi push GitHub

Trước lệnh:

Bash
git push

hãy kiểm tra:

  • Project chạy được local.
  • Đã tạo .gitignore.
  • .env nằm trong .gitignore.
  • Không có API key trong source code.
  • Không có password trong source code.
  • Không có private key.
  • Không commit node_modules.
  • Không commit file build không cần thiết.
  • Đã chạy git status.
  • Đã kiểm tra git diff.
  • Đã kiểm tra git diff --cached.
  • Commit có message rõ ràng.
  • Remote origin đúng repository.
  • Branch đúng.
  • Repository GitHub đúng account.

Sau đó:

Bash
git push

54. Workflow hoàn chỉnh cho Vibe Coder

Đến đây, bạn đã có thể hình thành workflow:

Bash
Ý TƯỞNG

AI Coding

Local Project

Test & Review

git status

git diff

git add

git commit

git push

GitHub

Đây là workflow nền tảng.

Sau này có thể mở rộng:

Bash
AI

GitHub

Docker

Coolify

VPS

Production

55. Vibe Coder nên nhớ 7 command Git quan trọng nhất

Nếu mới bắt đầu, chưa cần nhớ hàng trăm Git command. Hãy nắm chắc:

Kiểm tra trạng thái

Bash
git status

Xem thay đổi

Bash
git diff

Đưa file vào staging

Bash
git add .

Tạo commit

Bash
git commit -m "Your message"

Xem lịch sử

Bash
git log --oneline

Đẩy code lên GitHub

Bash
git push

Lấy code mới

Bash
git pull

Chỉ cần thành thạo nhóm command này, bạn đã có nền tảng Git khá tốt để bắt đầu workflow Vibe Coding.


56. Một workflow thực tế từ đầu đến cuối

Giả sử AI vừa tạo một project mới.

Bạn có thể thực hiện:

Bash
cd ~/my-vibe-app

Tạo .gitignore:

Bash
nano .gitignore

Thêm:

Bash
node_modules/
.env
.env.*
!.env.example

dist/
build/
.next/

coverage/
.DS_Store

Khởi tạo Git:

Bash
git init -b main

Kiểm tra:

Bash
git status

Thêm file:

Bash
git add .

Kiểm tra:

Bash
git diff --cached

Commit:

Bash
git commit -m "Initial commit"

Kết nối GitHub:

Bash
git remote add origin git@github.com:YOUR_USERNAME/my-vibe-app.git

Push:

Bash
git push -u origin main

Xong.

Project AI-generated của bạn đã trở thành một GitHub repository.


57. Sau khi GitHub đã ổn định, bước tiếp theo là gì?

Bây giờ chúng ta có:

Bash
AI
 
Git
 
GitHub

Nhưng project vẫn đang phụ thuộc vào môi trường chạy.

Ví dụ:

Bash
Node.js
npm
Operating System
Dependencies
Environment

Khi chuyển project sang một server khác, bạn cần đảm bảo môi trường chạy tương thích. Đó là lý do bước tiếp theo sẽ là:

Bash
GitHub
 
Docker
 
Container

Docker giúp đóng gói ứng dụng và môi trường cần thiết để chạy ứng dụng thành container.

Bài tiếp theo trong series: Docker cho Vibe Coder: Từ source code đến container trên Ubuntu

Trong bài đó chúng ta sẽ đi từ con số 0:

Bash
Docker  gì?

Image

Container

Dockerfile

.dockerignore

docker build

docker run

Port

Environment Variables

Docker Compose

Debug container

Sau đó mới chuyển sang:

Bash
GitHub
   
Coolify
   
VPS Ubuntu
   
Production

58. Kết luận

Vibe Coding giúp rút ngắn đáng kể khoảng cách từ ý tưởng đến source code. Nhưng source code chỉ là điểm bắt đầu.

Để project trở thành một ứng dụng có thể phát triển và triển khai lâu dài, bạn cần một workflow rõ ràng:

Bash
AI
 
Code
 
Test
 
Git
 
GitHub

Git giúp bạn kiểm soát lịch sử source code.

GitHub giúp bạn lưu trữ repository, cộng tác và tạo nền tảng cho CI/CD.

Quan trọng hơn, workflow này giúp bạn thoát khỏi kiểu làm việc:

Bash
project-final
project-final-2
project-final-new
project-final-ok

và chuyển sang:

Bash
Commit
 
Commit
 
Commit
 
GitHub
  • Mỗi thay đổi đều có lịch sử.
  • Mỗi feature đều có thể được kiểm tra.
  • Mỗi phiên bản đều có thể truy xuất.

Và khi project đã nằm trên GitHub, bạn đã hoàn thành một bước rất quan trọng để tiến tới workflow:

Bash
AI  GitHub  Docker  Coolify  VPS  Production

Đó mới là workflow Vibe Coding hoàn chỉnh mà chúng ta sẽ xây dựng trong toàn bộ series.


Các bài trong series Vibe Coding

Đánh giá bài viết này

Tác giả

Thái Duy Khang
Thái Duy Khang Thiết kế & lập trình tại EZ TECH
Tôi là Thái Duy Khang Một Creative Designer, UX/UI Designer và Web Developer chuyên xây dựng những sản phẩm số giúp doanh nghiệp phát triển thương hiệu, nâng cao trải nghiệm khách hàng và tối ưu hiệu quả kinh doanh. Trong hơn 10 năm, tôi đã làm việc ở giao điểm giữa thiết kế, trải nghiệm người dùng và công nghệ. Sự kết hợp này cho phép tôi nhìn nhận một dự án không chỉ dưới góc độ thẩm mỹ, mà còn từ chiến lược thương hiệu, hành vi người dùng và tính khả thi khi triển khai.
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất