Để làm việc nhóm, bạn bắt buộc phải biết về Git👌
Git là gì?
Git là hệ thống quản lý phiên bản cho 1 project. Nó giúp nhiều người làm việc trên cùng một project, thêm sửa xoá file, lưu lịch sử, review…
Với 1 project, git quản lý bằng 2 vùng chính:
- local repo: là các file trên máy bạn, mỗi bạn nhìn thấy
- remote repo: là các file “online”, nơi cả team sẽ nhìn thấy
fuction addNewCustomer() vào file A, nhưng bạn chưa đẩy lên. Thì lúc này, chỉ bạn thấy hàm đó ở laptop của bạn, những người khác trong team không thể thấy được. Chỉ khi nào bạn push lên thì họ mới thấy phần thay đổi mới đó, sau khi họ pull vềCác khái niệm về push và pull sẽ được nói tiếp ngay ở phần sau
Các khái niệm cần hiểu trước

| Khái niệm | Hiểu đơn giản |
|---|---|
| Repository | Thư mục project mà cả team bạn làm chung. Gọi tắt là repo |
| clone | Bạn kéo thư mục repo bên trên về máy bạn thì gọi là clone. Sau khi clone, git tạo ra 1 repo local trên máy bạn, là bản sao của repo remote mà bạn vừa kéo về |
| Pull | Là hành động bạn “kéo” các phần thay đổi mới từ repo remote về repo local |
| Commit | Bạn “đóng gói” phần thay đổi lại, nhưng chưa đẩy lên remote |
| Push | Bạn đẩy các phần đã được commit lên remote, lúc này người khác sẽ thấy được |
| Branch | Nhánh làm việc riêng để không sửa trực tiếp nhánh chính |
1. git clone — tải project về máy
git clone https://github.com/company/automation-tests.git
cd automation-testsgit clone tạo một bản sao của repository trên máy, bao gồm cả lịch sử và thông tin remote. Lệnh này thường chỉ cần chạy một lần cho mỗi project.
2. git branch và git switch — làm việc với branch
Thông thường, mỗi người code ở 1 nhánh khác nhau, ví dụ
branch_a hoặc branch_b. Code xong thì push nhánh đó lên remote. Cuối cùng thì tạo Pull Request (PR) vào nhánh chính của repo. PR sẽ được giải thích ở phần dưới đây.# xem tất cả các nhánh hiện có của repo
git branch
# Chuyển sang branch main
git switch main
# Chuyển sang branch "feature/create-new-vip-user"
git switch feature/create-new-vip-userTên branch nên ngắn nhưng mô tả được mục đích. Hãy tuân theo convention của team nếu đã có, ví dụ test/..., feature/... hoặc tên ticket.
main hoặc master trừ khi quy trình của team cho phép. Hãy tạo branch riêng và gửi Pull Request để review.3. git pull — lấy thay đổi mới nhất
git switch main
git pullgit pull tải thay đổi từ remote và cập nhật vào branch hiện tại. Một thói quen đơn giản là cập nhật nhánh chính trước khi tạo branch mới.
5. git diff — xem mình đã sửa gì
git diffLệnh này hiển thị những thay đổi chưa được stage. Có thể xem riêng một file:
git diff tests/login.spec.ts6. git add — add file vào git
Trước khi commit thì phải add. Sau khi add, các file và phần thay đổi sẽ rơi vào trạng thái “staged” – ready to commit
git add tests/login.spec.ts7. git commit
git commit -m "Add negative login tests"Commit message nên mô tả ngắn gọn thay đổi đã làm. Tránh các message mơ hồ như update, fix hoặc done.
Add tests for expired access token. Message chưa rõ: Update API test. Người review nên hiểu mục đích commit mà chưa cần mở từng file.8. git push — đẩy phần thay đổi lên remote
Lần đầu push một branch mới:
git push -u origin test/login-negative-casesorigin là tên remote mặc định. Tuỳ chọn -u liên kết local branch với remote branch; những lần sau thường chỉ cần:
git pushPush không đồng nghĩa với merge vào nhánh chính. Sau khi push, tester thường mở GitHub/GitLab và tạo Pull Request để team review.
9. Pull Request
Là bước để cả team review lại những phần thay đổi bạn muốn merge vào branch main. Nếu họ approve và merge, thì phần thay đổi của bạn mới được merge.
feature/abcTiếp đó, bạn cần vào Github, tab Pull Request, tạo 1 PR từ branch của bạn đến branch
main rồi bấm OK. Như vậy là PR đã được tạo thành công.Sau đó bạn gửi mã PR cho teammates của mình để họ review và merge
Cheat sheet: các lệnh đủ dùng
| Nhu cầu | Lệnh |
|---|---|
| Tải project | git clone <url> |
| Xem trạng thái | git status |
| Xem branch | git branch |
| Chuyển branch | git switch <branch> |
| Tạo branch mới | git switch -c <branch> |
| Cập nhật code | git pull |
| Xem thay đổi | git diff |
| Chọn file để commit | git add <file> |
| Tạo commit | git commit -m "message" |
| Đưa branch lên remote | git push |
| Xem lịch sử ngắn | git log --oneline |
Bài thực hành nhỏ
Bài 1:
- tạo tài khoản github.com
- login thành công vào tài khoản
- Tạo 1 repo mới trên đó với tên bất kì, ví dụ
test-auto - Cài đặt Git lên máy laptop của bạn, ở bước authentication, nhập đúng thông tin tài khoản mà bạn vừa tạo bên trên
- Tải repo
test-autobên trên về sử dụng lệnhgit checkout - Mở IntelliJ (hoặc VSCode), mở cái repo bên trên lên
Bài 2:
- Tạo 1 branch mới từ branch main, tên là
feature/tester-practice - Tạo 2 file a.ts và b.ts trên branch đó
- Viết 1 chút nội dung bất kì vào 2 file đó
- add và commit 2 đó lên
- push mọi thay đổi lên remote
- Lên Github, tạo 1 PR trỏ từ branch
feature/tester-practicetới branchmain - Kiểm tra PR, make sure 2 file của bạn hiển thị đầy đủ trong PR đó
- Gửi PR cho 1 đồng nghiệp để họ review và approve
- Merge PR đó vào branch main của repo




