Skip to content

Một số trường hợp khi làm việc nhóm với Git

Một số trường hợp khi làm việc nhóm với Git

Trường hợp 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 đó.

Trường hợp 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>

Trường hợp 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 click 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:

mergeRequest

Gitlab:

gitLabMergeRequest

Trường hợp 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).

pullRequest

Trường hợp 5: Merge branch B vào branch A

git checkout featureA
git merge featureB

Trường hợp 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

Trường hợp 7: Lấy lại code từ các commit trước

Xem lại lịch sử tất cả commit

git log
historyCommit

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.

Trường hợp 8: Lấy lại code từ các commit trước

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.

Trường hợp 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>
# example
$ 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).

addSubModule

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *