GIT là một trong các phần mềm quản lý mã nguồn phổ biến nhất dành cho các lập trình viên. Tuy nhiên, việc ghi nhớ các câu lệnh khác nhau của GIT cũng không hề đơn giản. Vì vậy, GIT cheatsheet dưới đây sẽ chia sẻ cho bạn những câu lệnh phổ biến nhất khi thao tác với GIT để có thể dễ dàng chia sẻ, theo dõi và khôi phục code sau này.

Tạo kho GIT

Từ danh mục có sẵn
cd projec­t_dir
d
git add .
Từ kho GIT khác
git clone existi­ng_dir new_dir
git clone git://­git­hub.co­m/u­ser­/re­po.git
git clone https:­//g­ith­ub.c­om­/us­er/­rep­o.git

Git – Thay đổi cục bộ

Đổi danh mục làm việc
git status: Hiển thị trạng thái của thư mục làm việc và vùng dàn dựng.
Xem sự thay đổi giữa các file
git diff
Thêm các tệp đã thay đổi
git add file1 file2 file3
Xóa tệp
git rm file
git rm dir/ -r
(recursive under directory)
So sánh file trong staging area với local repository.
git diff –cached
Thay đổi commit
git commit: Ghi lại hoặc chụp nhanh các file một cách vĩnh viễn trong lịch sử phiên bản với một tin nhắn.
git commit -m “My messag­e”: Commit thay đổi cùng với một thông báo tùy chỉnh:
git commit -a -m “My Messag­e”: 
(tracked files only, auto add)
Sửa lại lịch sử 
git commit –amend
Khôi phục các tệp đã thay đổi
git checkout — file
Khôi phục sự thay đổi (commit mới)
git revert HEAD
Trở lại trạng thái committe cuối cùng
git reset –hard HEAD

Git – Lịch sử

Hiển thị tất cả commits
git log
Định dạng ngắn
git log –pret­ty=­short
Xem đầy đủ sự khác nhau của mỗi commit
git log -p
Xem file commits
git log file
Xem danh mục commits
git log dir/
Xem lịch sử có thống kê số lượng dòng đã được thêm, xóa vào tập tin nào đó
git log –stat
Xem người thay đổi file
git blame file

Git – Merge/­Rebase

Thêm các thay đổi từ nhánh này sang nhánh khác
git merge branch
Tách, di chuyển hoặc thoát khỏi các commit
git rebase branch: Tách, di chuyển hoặc thoát khỏi nhánh
git rebase master branch: Tách, di chuyển hoặc thoát khỏi nhánh chính
Hủy bỏ rebase
git rebase –abort
Gộp tool để giải quyết conflicts
git mergetool
Conflicts  lại tệp cơ sở
git diff –base file
Hiển thị sự thay đổi của các user khác
git diff –theirs file
Hiển thị sự thay đổi của bạn
git diff –ours file
Sau khi giải quyết conflicts
git rebase –continue

Git – Điều khiển Update / Publish

Hiển thị danh sách các kho lưu trữ từ xa với URLs
git remote -v
Hiển thị thông tin
git remote show remote
Thêm remote repo với tên ngắn và link
git remote add path/url
Cập nhật thay đổi toàn bộ nhánh trên remote repo
git fetch remote
Tìm và hợp nhất
git pull remote branch
Đẩy dự án đã commit lên remote repo và tạo nhánh <branch> nếu chưa có trên remote repo
git push remote branch
Xoá remote branch
git push remote :branch
Publish tags
git push –tags

Git – Branch­ing­/Ta­gging

Hiển thị tất cả các nhánh
git branch
Di chuyển tới một nhánh
git checkout branch
Tạo branch mới
git branch new
Tạo nhánh mới  từ giá trị của nhánh hiện tại
git branch new existing
Xoá branch
git branch -d branch
Gắn thẻ commit hiện tại
git tag tag-name

>>> Xem thêm nhiều cheatsheet IT hữu ích tại đây.

Như vậy, qua cheatsheet này bạn đã biết thêm một số thao tác trên GIT để tối ưu hoá thời gian làm việc. Hy vọng bạn có thể vận dụng được chúng vào công việc của mình nhé!