mẹo khi dùng Git

Một số mẹo khi dùng Git giúp bạn làm việc tốt hơn

Table of Content

Git là phần mềm quản lý mã nguồn phân tán được phát triển bởi Linus Torvalds vào năm 2005, ban đầu dành cho việc phát triển nhân Linux.

Mình sẽ không giới thiệu về Git hay hướng dẫn sử dụng, bài viết này mình muốn chia sẽ thêm một số mẹo với Git giúp các bạn quản lý, làm việc hiệu quả hơn.

Git aliases

Một trong những cách tốt nhất để giảm bớt quy trình làm việc hàng ngày của bạn với Git là tạo viết tắt cho các lệnh phổ biến mà bạn sử dụng. Điều này có thể giúp bạn tiết kiệm một chút thời gian trong sử dụng câu lệnh Git ở Terminal.

Một số câu lệnh viết tắt phổ biến:

git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch

Ví dụ thay vì bạn gõ git checkout master bạn có thể gõ git co master

So sánh commits từ lệnh (command line)

Một cách dễ dàng và nhanh chóng để so sánh sự khác biệt giữa các commits hoặc các versions (phiên bản) của cùng một tệp là sử dụng dòng lệnh. Đối với điều này, bạn có thể sử dụng lệnh git diff.
Nếu bạn muốn so sánh những thay đổi giữa hai commits:

git diff $start_commit..$end_commit

Tạo branch (nhánh) mới từ nhánh chính (base branch)

Bạn có thể checkout một nhánh mới từ một nhánh chính mà không cần checkout qua nhánh đó trước khi tạo. Ví dụ để tạo new-branch từ master:

git checkout master
git checkout -b new-branch

Một cách đơn giản hơn:

git checkout -b new-branch master

Cú pháp:

git checkout -b new_branch base_branch

Xóa branches ở local đã bị xoá ở trên remote

git config --global fetch.prune true

Ghi lại nội dung commit trước đó

Đôi khi bạn muốn commit với nội dung trước đó, bạn có thể sử dụng --amend

git commit -v --amend

Chỉnh sửa nội dung commit trước đó

Bạn có thể sử dụng --amend trong trước hợp muốn sửa nội dung commit vừa xong:

git --amend -m "New message"

Thay đổi thông tin author cho commit

Trường hợp bạn muốn thay đổi tên, email của commit hiện tại.

git commit --amend --author="Author Name <email@address.com>" --no-edit

Undo local commit

Đôi khi, bạn có thể vô tình thêm sai tệp vào commit của mình hoặc muốn undo (hoàn tác) commit vì một số lý do. Nếu bạn chưa push nó lên máy chủ, bạn có thể chỉ cần undo commit bằng lệnh git reset.

git reset HEAD~1

Ở đây, HEAD~1 yêu cầu Git di chuyển con trỏ HEAD trở lại một lần commit. Nếu bạn muốn con trỏ HEAD của mình quay trở lại commit cụ thể, bạn có thể kiểm tra logs cuat những commits bằng git log và sau đó sử dụng sha của commit để quay lại.

git log # xem logs và lấy commit sha

git reset commit-id

Merge nhiều commit thành một

Nếu bạn muốn merge tất cả các commits ở local thành một:

git reset --soft <branch-name>
git commit -m "new commit message

Nếu bạn muốn merge n số lần commits trước đó:

git reset --soft HEAD~5 # số commits bạn muốn merge

# hoặc sử dụng last commit sha
git reset --soft <commit sha>
git commit -m "new commit message"

Copy một commit từ một branch sang branch khác

Bạn có thể áp dụng lệnh cherry-pick cho một commit cụ thể nào đó, trường hợp bạn muốn áp dụng một commit cho một branch khác:

git checkout <branch-name>
git cherry-pick <commit-sha>

Xem thông tin của một tệp

Hiển thị tác giả, thời gian và bản sửa đổi cuối cùng được thực hiện cho mỗi dòng của một tệp nhất định

git blame <file-name>

Trên đây là một số mẹo mình thấy hữu ích, mình sẽ cập nhật thêm ^^
Happy coding!