Git Cheat Sheet

Local Repo

# Command Description Example
1 git init Khởi tạo một Local Repository ...
2 git status Kiểm tra trạng thái các files của repository ...
3 git add fileName Thêm fileName vào trạng thái Staged ...
4 git add * Thêm tất cả tập tin ở trạng thái Working vào trạng thái Staged ...
5 git commit --m “Message” Commit files nằm trong trạng thái Staged kèm theo thông điệp “Message” ...
6 git commit -a --m “Message” Commit files đã hoặc chưa nằm trong trạng thái Staged kèm theo thông điệp “Message” ...
7 git log Xem log các commit trong Repository (tham khảo thêm các param) ...
8 git reset HEAD filename Xóa fileName ra khỏi trạng thái Staged (file vẫn còn tồn tại) ...
9 git rm --f filename Xóa fileName ra khỏi trạng thái Staged và xóa khỏi ổ cứng (file không còn tồn tại) ...
10 git rm --cached filename Xóa fileName ra khỏi trạng thái Staged (file vẫn còn tồn tại) ...
11 git checkout -- filename Quay về trạng thái trước của tập tin filename ...
12 git mv fileName1 fileName2 Đổi tên fileName1 thành fileName2 ...
13 git commit --amend Nhập 1 commit về commit trước đó ...

Remote Repo

# Command Description Example
1 git clone repository [directory] Clone Remote Teposity reposity và đặt vào folder [directory] ...
2 git remote –v Xem thông tin Remote reposity hiện tại ...
3 git remote show name Xem thông tin name hiện tại ...
4 git remote add name repository Add Local Repository lên Remote Repository tại repository và đặt tên nó là name ...
5 git remote rename name1 name2 Đổi tên name1 thành name2 ...
6 git remote remove name Xóa remote name ...
7 git pull name branch Kiểm tra sự thay đổi trên Remote Repository và merge vào phiên làm việc hiện tại ...
8 git push name branch Đẩy dữ liệu lên remote repository ...
9 git config --global.config alias.st status Tạo alias ...

Branch

# Command Description Example
BRANCH
1 git branch branchname Tạo nhánh mới có tên branchname ...
2 git log --oneline --decorate Xem đang làm việc với nhánh nào ...
3 git checkout branchname Chuyển làm việc sang nhánh branchname ...
4 git checkout -b branchname Tạo nhánh branchname và chuyển làm việc sang nhánh branchname ...
5 git branch Xem danh sách các nhánh, nhánh nào có dấu * là nhánh chúng ta đang làm việc ...
6 git branch -v Xem commit mới nhất ở mỗi nhánh ...
7 git merge branchname Merge nhánh hiện tại với nhánh branchname ...
8 git branch --merged Xem danh sách các nhánh đã merge ...
9 git branch --no-merged Xem danh sách các nhánh chưa được merge ...
10 git branch -d branchname Xóa nhánh branchname và nhánh này đã được merge ...
11 git branch -D branchname Xóa nhánh branchname và nhánh này chưa được merge ...
12 git branch -D branchname Xóa nhánh branchname và nhánh này chưa được merge ...
13 git branch -m oldname newname Thực hiện việc đổi tên nhánh từ oldename thành newname ...
14 git branch -m newname Đổi tên nhánh hiện tại thành newname ...
TAG
12 git tag tagname Tạo mới một Lightweight Tag có tên là tagname ...
13 git tag -a tagname -m “Mesage” Tạo mới một Annotated Tag có tên là tagname cùng với thông điệp ...
13 git tag -a tagname commitID -m “Mesage” Thêm annotated tag có tên tagname vào commit có ID là commitID ...
14 git tag Xem tất cả các tag hiện có ...
15 git tag -n Xem tất cả các tag hiện có và phần miêu tả của task ...
16 git show tagname Xem thông tin tagname ...
17 git tag –d tagname Xóa tag có tên tagname ...
18 git tag -a tagname X -m message Thêm annotated tag tagname vào commit có ID là X ...
19 git checkout –b branchname tagname Tạo một nhánh mới branchname từ tag đã tồn tại tagname ...
20 git push name tagname Thêm tagname vào remote name ...
21 git push name --tags Thêm tất cả tag vào remote name ...
22 git push name -d tagname Xóa tagname tại Remote repository có tên name ...
REMOTE BRANCH
23 git remote push remote_name branch_name Đẩy nhánh branch_name từ Local Repo lên Remote Repo ...
24 git remote show remote_name Xem danh sách các nhánh trên Remote Repo ...
25 git ls-remote remote_name Xem danh sách các nhánh và tag trên Remote Repo ...
26 git clone -b branch remote_url Clone một Branch chỉ định từ Remote repo ...
27 git checkout remote_name/branch_name Chuyển đổi làm việc sang nhánh remote ...
28 git push origin :branch_name Xóa một Branch từ Remote repo ...
REBASE
29 git rebase branch_name Chạy lại lịch sử commit của branch_name trên nhánh hiện tại ...

Conflict

# Command Description Example
COMPARISONS
1 git diff
git difftool
Staging vs Working (L-R) ...
2 git diff HEAD Local Repo vs Working (L-R) ...
3 git diff --staged HEAD
git diff –cached
Local Repo vs Staging Area (L-R) ...
4 git diff master origin/master Local Repo vs Remote Repo (L-R) ...
5 git diff comitID commitID Comit vs Commit ...
6 git diff tagname vs tagname Tag vs Tag ...
STASH
1 git stash Lưu toàn bộ nội dung công việc đang làm dở ...
2 git stash list Xem lại danh sách các lần lưu thay đổi ...
3 git stash pop [stash@{1}]
git stash apply stash@{1}
Áp dụng thay đổi từ stash ...
4 git stash drop stash@{1}
git stash clear
Xóa các thay đổi không cần thiết ...
CẤU HÌNH P4MERGE (C:\Users\HaiLan\.gitconfig)
1 Cấu hình difftool [diff] tool = p4merge [difftool "p4merge"] path = C:\\Program Files\\Perforce\\p4merge.exe [merge] tool = p4merge [mergetool "p4merge"] path = C:\\Program Files\\Perforce\\p4merge.exe cmd = 'C:/Program Files/Perforce/p4merge.exe' $PWD/$BASE $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED ...
2 Cấu hình mergetool [merge] tool = p4merge [mergetool "p4merge"] path = C:\\Program Files\\Perforce\\p4merge.exe cmd = 'C:/Program Files/Perforce/p4merge.exe' $PWD/$BASE $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED ...