Repository: https://github.com/Purin1410/AIO_Datasets_MainRepo.git
git clone https://github.com/Purin1410/AIO_Datasets_MainRepo.git
cd AIO_Datasets_MainRepoTrước khi code hoặc tạo branch mới, luôn chạy:
git checkout main
git pull --rebase origin mainMỗi người tạo branch riêng cho phần mình phụ trách:
git checkout -b feature/check-xxxVí dụ:
git checkout -b feature/check-naming
git checkout -b feature/check-counts
git checkout -b feature/check-qualityVí dụ phụ trách check_quality.py thì chỉ sửa:
modules/check_quality.py
Hạn chế sửa các file chung như:
main.py
requirements.txt
README.md
Nếu cần sửa file chung, nên báo trước để tránh conflict.
git status
git add modules/check_xxx.py
git commit -m "Implement check xxx"Nên commit nhỏ, message rõ ràng.
Trước khi push branch lên GitHub, luôn cập nhật lại với main:
git checkout main
git pull --rebase origin main
git checkout feature/check-xxx
git rebase mainNếu không có conflict thì push:
git push origin feature/check-xxxNếu branch đã từng push trước đó và vừa rebase, dùng:
git push --force-with-leaseKhông dùng git push --force nếu không chắc chắn.
Git sẽ báo file bị conflict. Mở file đó và sửa các đoạn có dạng:
<<<<<<< HEAD
code hiện tại
=======
code từ branch khác
>>>>>>> branch-name
Sau khi sửa xong:
git add .
git rebase --continueNếu muốn hủy rebase:
git rebase --abortSau khi push branch:
- Tạo Pull Request từ branch của mình vào
main. - Ghi rõ mình đã làm phần nào.
- Copy link Pull Request vào file Workplan.
- Đợi mọi người cross-check và comment.
- Mỗi người làm trên một branch riêng.
- Không sửa trực tiếp trên
main. - Chỉ sửa đúng file mình phụ trách.
- Luôn
pull --rebasetrước khi code và trước khi push. - Luôn
rebase maintrước khi tạo Pull Request. - Không tự ý sửa file chung nếu chưa thống nhất.
- Không dùng
git push --force, ưu tiêngit push --force-with-lease.