Để làm việc hiệu quả với Git và GitLab, cần nắm vững một số chức năng nâng cao của git để flexible với xử lý tình huống thay vì chỉ pull commit và push. Dưới đây là những vị trí hiệu quả có thể tham khảo
1. GitLab Merge Squash
Squash merge gộp nhiều commit thành một commit duy nhất khi merge một nhánh vào nhánh chính, làm lịch sử commit trở nên gọn gàng hơn
Sử dụng giao diện GitLab:
- Tạo một Merge Request (MR) từ nhánh phát triển sang nhánh chính.
- Đánh dấu chọn "Squash commits".
- Merge request sẽ gộp tất cả các commit của nhánh phát triển thành một commit duy nhất trên nhánh chính.
Có thể múa dùng dòng lệnh:
git merge --squash <branch_name>
git commit -m "Your commit message"
2. GitLab Revert
Revert giúp hoàn tác lại một commit đã merge vào nhánh chính mà không cần phải xóa lịch sử commit. Đây là cách an toàn để khôi phục lại trạng thái của code.
Sử dụng giao diện GitLab:
Tìm merge request cần revert
Click vào merge request đó và chọn "Revert".
Có thể múa dùng dòng lệnh:
git revert <commit_hash>
Lệnh này sẽ tạo ra một commit mới để hoàn tác các thay đổi từ commit đã chỉ định.
`
3. Git Cherry Pick
Cherry-pick cho phép bạn chọn một hoặc nhiều commit cụ thể từ nhánh này sang nhánh khác mà không cần merge toàn bộ nhánh.
Sử dụng dòng lệnh:
git cherry-pick <commit_hash>
Để chọn nhiều commit:
git cherry-pick <commit_hash1> <commit_hash2> ...
4. Git Clean
Git clean giúp xóa các file không được theo dõi (untracked files) khỏi working directory. Hữu ích khi bạn muốn làm sạch dự án của mình. (Lưu ý khi sử dụng)
Sử dụng dòng lệnh:
Xóa các file không được theo dõi:
git clean -f
Xóa các thư mục không được theo dõi:
git clean -fd
Xem trước những gì sẽ bị xóa mà không thực hiện lệnh:
git clean -n
5. Git Stash
Git stash lưu trữ tạm thời các thay đổi chưa commit, hữu ích khi bạn cần chuyển nhánh mà không muốn commit các thay đổi hiện tại.
Lưu trữ các thay đổi:
git stash
Để lưu trữ thay đổi với một thông báo:
git stash save "your message"
Khôi phục các thay đổi đã lưu:
git stash pop
hoặc
git stash apply
Danh sách các thay đổi đã lưu:
git stash list
Xóa stash:
git stash drop <stash@{0}>
Xóa tất cả các stash:
git stash clear
Dù mới chỉ là seri đầu tiên của các command hữu ích của git khi sử dụng. Hy vọng những hướng dẫn này sẽ giúp bạn làm việc với Git và GitLab hiệu quả hơn. Hãy áp dụng ngay vào dự án của bạn để múa