10 cases Git Teamwork
Mục lục
- 1 10 cases Git Teamwork
- 1.1 Case 1: Người khác push code, thêm file vào branch mình đang code
- 1.2 Case 2: Xây dựng module riêng, không làm ảnh hưởng đến source code chính của team
- 1.3 Case 3: Push code sang branch khác
- 1.4 Case 4: Module từ branch của bạn đã hoàn thành và sẵn sàng dùng cho source code chính của team
- 1.5 Case 5: Merge branch B vào branch A
- 1.6 Case 6: Đã commit nhưng quên thêm một số file và không muốn commit lại
- 1.7 Case 7: Lấy lại code từ các commit trước
- 1.8 Case 8: Một lần commit cho cả 2 branches
- 1.9 Case 9: SubModule
- 2 Tổng kết
Case 1: Người khác push code, thêm file vào branch mình đang code
Dùng git pull để đồng bộ code về.
git pull
Khi sử dụng mặc định lệnh $git pull hệ thống sẽ lấy code từ remote tại branch chỉ định (local branch hiện tại) về và thực hiện merge ngay tại đó.
Case 2: Xây dựng module riêng, không làm ảnh hưởng đến source code chính của team
Tạo branch mới và code trong đó.
git branch <name_branch>
git checkout <name_branch>
Case 3: Push code sang branch khác
Từ branch featureA push code sang branch featureB
Nếu không có branch featureB, hệ thống sẽ tự tạo featureB và push vào.
git push origin featureA:featureB
Nếu ở Github, sau khi push hệ thống sẽ tạo một merge request bằng việc clink vào nút Compare & pull request tại trang github.
Ở Gitlab, sau khi push terminal sẽ tạo một link merge request để người dùng có thể thực hiện merge request.
Github:
Gitlab:
Case 4: Module từ branch của bạn đã hoàn thành và sẵn sàng dùng cho source code chính của team
Trong branch GitLab của bạn, nhấn vào Create merge request để gửi yêu cầu merge vào branch master (mặc định).
Case 5: Merge branch B vào branch A
git checkout featureA
git merge featureB
Case 6: Đã commit nhưng quên thêm một số file và không muốn commit lại
git commit -m "first commit"
git add index.html
git commit --amend --no-edit
Case 7: Lấy lại code từ các commit trước
Xem lại lịch sử tất cả commit
git log
Lấy code từ commit về, ví dụ ở đây mình lấy code từ commit “add SSHKey.png from README.md”:
git checkout 24a4b438e7ee79fa3eafcde3dccc479c4dce4df
Sau khi chỉnh sửa xong, tạo một branch và checkout qua branch đó.
# Sử dụng checkout -b để vừa tạo branch vừa checkout. Rất tiện.
$ git checkout -b <name branch>
Cuối cùng, thực hiện add và commit lại bình thường.
git add .
git commit -m 'your commit here'
Lúc này code mới của bạn đang ở branch vừa mới tạo. Bạn có thể giữ nguyên branch đó hoặc thực hiện merge vào branch cũ của mình.
Case 8: Một lần commit cho cả 2 branches
Mô tả: trường họp bạn đã commit branch-A và cả branch-B
# Đang ở branch-A
$ git add .
$ git commit -m 'commit A'
# Commit thêm branch-B
$ git checkout branch-B
$ git cherry-pick branch-A
# Commit của branch-A sẽ được add và merge vào branch-B.
Case 9: SubModule
Submodule giúp bạn mang 1 repo khác (repo phụ) bỏ vào repo đang làm việc. Điều này giúp việc tái sử dụng code hiệu quả hơn.
$ git submodule add <link> <path>
#ví dụ
$ git submodule add git@github.com:TommyGitHubs/Test.git ./internal/cropbase
Hệ thống sẽ tạo một đường dẫn thư mục theo path để chứa submodule.
Việc bạn xây dựng trên đây sẽ không ảnh hưởng đến repo phụ (gốc).
Tham khảo thêm về submodule
Tổng kết
Thank for watching!