Một số lệnh giúp làm việc hiệu quả hơn với Git
Bài đăng này đã không được cập nhật trong 8 năm
Git là một hệ thống quản lý phiên bản mã nguồn mạnh mẽ. Thông thường thì bạn chỉ sử dụng những lệnh cơ bản của git trong khi có nhiều lệnh hay ho và rất tiện lợi mà có thể bạn chưa biết để sử dụng nó.Bài viết này mình sẽ chia sẽ một số lệnh có thể giúp bạn làm việc hiệu quả hơn với git.
1. Git aliases
Một cách dễ dàng nhất là tạo alias cho những lệnh mà chúng ta thường xuyên sử dụng trong git như checkout, commit, branch…
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
Khi bạn đã tạo alias thì thay vì phải dùng lệnh git checkout master để quay về nhánh master như thông thường thì thay vào đó bạn chỉ cần gõ lệnh git co master.
Ngoài ra thì bạn cũng có thể chỉnh sửa hoặc thêm trực tiếp các alias mà mình mong muốn thông qua việc chỉnh sửa file ~/.gitconfig.
[alias]
co = checkout
ci = commit
br = branch
2. Stash những thay đổi chưa được commit
Giả sử trong trường hợp bạn đang làm việc trong một nhánh mới nhưng vì một lý do nào đó bạn cần phải checkout về một nhánh khác để chỉnh sửa code ngay lập tức và bạn cũng không muốn commit những thứ đã làm trong nhánh hiện tại này vì code của bạn trong nhánh này chưa hoàn thiện.Một giải pháp trong tình huống này là bạn sẽ tạm thời remove những thay đổi trong nhánh hiện tại bằng lệnh:
$ git stash
Lệnh git stash này sẽ lưu lại những thay đổi của bạn và làm mới lại thư mục bạn đang làm việc, lúc này bạn hoàn toàn có thể checkout về một nhánh khác để thực hiện những thay đổi cần thiết. Khi bạn đã chỉnh sửa xong nhánh đó và muốn quay lại nhánh trước đó đang làm dỡ thì bạn chỉ cần checkout về nhánh đó và dùng lệnh:
$ git stash pop
lệnh này giúp bạn khôi phục lại những thay đổi trước đó.
Ngoài ra bạn có thể sử dụng lệnh bên dưới để xóa bỏ hoàn toàn stash stack trước đó.
$ git stash drop
3. So sánh các commits
Một cách dễ dàng và nhanh chóng để so sánh sự khác nhau giữa các commit hay các phiên bản khác nhau của cùng một file là sử dụng lệnh
$ git diff
Nếu bạn muốn so sánh sự khác nhau của cùng một file trên các commit khác nhau thì bạn có thể dùng lệnh sau:
$ git diff $start_commit..$end_commit – path/to/file
Và để so sánh những thay đổi giữa 2 commit thì có thể dùng lệnh:
$ git diff $start_commit..$end_commit
Những lệnh này sẽ mở diff view trong terminal, nhưng nếu bạn muốn sử dụng một tool để xem sự khác nhau một cách trực quan hơn thì có thể xem xét sử dụng Meld. Để cấu hình Meld dùng lệnh
$ git config --global diff.tool git-meld
Bây giờ bạn hoàn toàn có thể sử dụng các lệnh dưới đây:
$ git difftool $start_commit..$end_commit -- path/to/file
# or
$ git difftool $start_commit..$end_commit
4. Reset files
Đôi lúc bạn đang chỉnh sửa code và nhận ra rằng, những thay đổi của mình không mang lại kết quả như mong muốn và bạn muốn reset lại những thay đổi đó, thay vì dùng lệnh undo để quay lại mọi thứ mà bạn đã thay đổi thì bạn có thể sử dụng lệnh sau:
$ git reset --hard HEAD
Hoặc nếu bạn muốn reset chỉ một file:
$ git checkout HEAD -- path/to/file
Và nếu bạn đã commit những thay đổi rồi thì bạn hoàn toàn có thể revert lại bằng cách sử dụng lệnh:
$ git reset --soft HEAD~1
5. Sử dụng git blame
Git blame là một công cụ tuyệt vời cho phép bạn xác định ai đã thực hiện việc thay đổi.Để sử dụng blame một cách hiệu bạn có thể sử dụng các flag khác nhau tùy thuộc vào thứ mà bạn muốn show ra
$ git blame -w # ignores white space
$ git blame -M # ignores moving text
$ git blame -C # ignores moving text into other files
6. Sử dụng parameters với git log
Chúng ta nên sử dụng lệnh git log kèm theo các parameter tùy vào mục địch, ví dụ:
---author=”Alex” - Chỉ show ra những commit của một author xác định
--name-only - Chỉ show ra những tên file đã được thay đổi
--graph - Show graph của tất cả các commit
--reverse - Show ra những commit theo thứ tự đảo ngược (Những commit cũ được show ra trước)
[Kết luận] Trên đây là một số lệnh mà mình nghĩ ít nhiều sẽ giúp ích bạn trong quá trình làm việc với git.
[Nguồn tham khảo]
https://about.gitlab.com/2015/02/19/8-tips-to-help-you-work-better-with-git/
All rights reserved