Hướng dẫn sử dụng git nâng cao

  • March 23, 2023
  • 451

Một dự án thực tế sẽ có git follow theo sơ đồ dưới đây.
Git follow
Các tính năng sẽ được phát triển trên nhánh develop. Mỗi một tính năng sẽ được tách ra một nhánh feature, khi làm xong các feature sẽ được megre vào develop. Test và fixed bug xong ở develop sẽ merge vào nhánh release hoặc staging, khách hàng test lại ok thì megre vào master, đánh tag release từ master và deploy code lên môi trường production. Nếu có bug production thì tách hotfix từ master, fixed xong bug sẽ merge vào master, đánh tag release production sau đó merge lại vào develop.

Git advanced

1. Git merge và rebase

có 3 cách để chúng ta merge một nhánh feature vào nhánh master: git merge, git rebase và merge squash.
git merge and rebase
Sử dụng git merge: tất các các lịch sử commit của nhánh feature sẽ được giữ nguyên, và tạo thêm một commit merge mới để merge vào branch master. Git merge thường được sử dụng trong các dự án ít thành viên commit code.

git log --oneline
git checkout feature/merge
git merge master
Sử dụng git rebase: Tất cả các lịch sử commit của nhánh feature sẽ được merge và sắp xếp lại đứng phía trước nhánh master, giúp quản lý lịch sử commit theo cá nhân tốt hơn, thường dùng cho dự án lớn nhiều người commit.

git checkout feature/rebase
git rebase master
Sử dụng git merge squash: Tất cả các lịch sử commit của nhánh feature sẽ được gộp thành một commit khi merge với master, các dự án hiện nay ít dùng cách này.

git checkout feature/merge-squash
git merge --squash master
Chú ý: Khi merge code với nhánh master, chúng ta luôn phải pull code mới nhất về trước khi merge.

2. Git cherry-pick

3. Git stash

4. Git sort

5. Git tag