Awesome
git-tips
Tuyển tập
git-tips
, bạn muốn đóng góp thêm? Vui lòng xem chi tiết contributing.md
English | 中文 | Русский | 한국어 | Tiếng Việt
Công cụ:
- git-tip - Một công cụ tiện dụng dụng để bạn có thể sử dụng một cách tối ưu. (Here in Docker container)
P.S: Tất cả các câu lệnh dưới đây đã được kiểm tra bằng git version 2.7.4 (Apple Git-66)
.
- Sử dụng Git hiệu quả mỗi ngày với 20 câu lệnh
- Hiển thị những câu lệnh hữu ích
- Tìm kiếm thay đổi bằng nội dung
- Đồng bộ với remote, ghi đè tất cả những thay đổi hiện tại
- Danh sách tất cả các tệp trong 1 commit
- Git reset first commit
- Danh sách tất cả tệp đã bị conflict
- Danh sách tất cả các file đã bị thay đổi trong 1 commit
- Tất cả những thay đổi chưa được ghi nhận kể từ commit cuối cùng
- Những thay đổi đã được ghi nhận
- Xem mọi thay đổi trên tệp kể từ commit cuối
- Danh sách tất cả các
branch
đã đượcmerged
vàomaster
- Quay lại branch gần nhất
- Xóa tất cả
branch
đã đượcmerged
vàomaster
- Danh sách tất cả branch và thông tin cơ bản: upstream, commit gần nhất
- Thông tin về upstream của branch
- Xóa một branch trên máy
- Xóa một remote branch
- Xóa một tag trên máy
- Xóa một remote tag
- Undo local changes with the last content in head
- Revert: Hủy bỏ một commit bằng cách tạo thêm 1 commit
- Reset: Hủy bỏ tất cả commit, khuyên dùng cho branch cá nhân
- Sửa lại commit message gần vừa tạo
- Xem lịch sử commit riêng branch hiện tại
- Người thay đổi.
- Reset tác giả, sau khi tác giả đã bị thay đổi trong cấu hình toàn hệ thống.
- Thay đổi đường dẫn remote
- Lấy danh sách của tất các remote
- Lấy danh sách branch trên local và remote
- Chỉ lấy danh sách branch trên remote
- Lưu thay đổi 1 phần của tệp, thay vì toàn bộ tệp
- Lấy câu lệnh git tự động hoàn thành
- Những gì đã thay đổi trong 2 tuần gần nhất?
- Xem tất cả những commit đã được tạo từ khi fork từ master
- Chọn các commit từ nhiều branch sử dụng
cherry-pick
- Tìm cách branch có chứa
commit-hash
- Gõ tắt Git
- Lưu trạng thái hiện tại của các tệp mà không commit
- Lưu trạng thái hiện tại của những thay đổi chưa được lưu vào những tệp đã được theo dõi
- Lưu trạng thái hiện tại bao gồm cả tệp chưa được theo dõi
- Lưu trạng thái hiện tại với message
- Lưu trạng thái hiện tại của tất cả file (bị bỏ qua, chưa được theo dõi, và được theo dõi)
- Xem danh sách tất cả các lưu tạm
- Áp dụng lưu tạm bất kỳ mà không xóa nó hỏi danh sách lưu tạm
- Áp dụng lưu tạm cuối cùng và xóa nó khỏi danh sách lưu tạm
- Xóa tất cả lưu tạm
- Lấy 1 file từ 1 lưu tạm
- Hiển thị danh sách tệp được theo dõi
- Hiển thị danh sách tệp chưa được theo dõi
- Hiển thị danh sách tệp bị bỏ qua
- Tạo nhánh làm việc mới từ một repo (git 2.5)
- Tạo một nhánh làm việc mới từ trạng thái HEAD
- Hủy bỏ theo dõi tệp mà không xóa nó
- Trước khi xóa những tệp/ thư mục chưa được theo dõi, thực thi việc lấy danh sách các tệp/ thư mục này
- Force: Xóa bỏ tất cả tệp chưa được theo dõi
- Force: Xóa bỏ tất cả thư mục chưa được theo dõi
- Cập nhật tất cả submodule
- Hiển thị tất cả các commit chưa được
merged
vàomaster
củabranch
hiện tại - Đổi tên một branch
- Rebases 'feature' thành 'master' và merges nó vào master
- Khóa branch
master
- Thay đổi commit gần nhất mà không thay đổi commit message
- Truy vấn đến cho các nhánh remote mà nó đã bị xóa trong remote.
- Truy xuất
commit-hash
của bản sửa đổi ban đầu. - Xem cây commit theo dạng đồ họa
- Deploy một thư mục đã được theo dõi vào
gh-pages
- Thêm một dự án vào repo sử dụng subtree
- Lấy thay đổi mới nhất trong repo của bạn cho một dự án đã được liên kết dùng subtree
- Xuất một branch với lịch sử ra một tệp
- Nhập từ một bundle
- Lấy tên của branch hiện tại
- Bỏ qua 1 file trong commit (e.g. Changelog).
- Lưu tạm các thay đổi trước khi
rebase
- Cập nhật yêu cầu tích hợp bằng ID vào local branch
- Hiển thị tag gần nhất trên branch hiện tại.
- Hiển thị thay đổi tổng quát.
- Hiển thị thay đổi sử dụng các công cụ.
- Không xem xét các thay đổi cho tệp đã theo dõi.
- Hủy assume-unchanged.
- Dọn dẹp các tệp từ
.gitignore
. - Khôi phục tệp đã bị xóa.
- Khôi phục một file từ một
commit-hash
nhất định - Luôn
rebase
thay vì tích hợp khi pull. - Danh sách tất cả các lối tắt và cấu hình.
- Cấu hình git phân biệt chữ hoa chữ thường
- Thêm trình soạn thảo của bạn.
- Tự động sửa lỗi chính tả.
- Kiểm tra nếu thay đổi đã là một phần của xuất bản.
- Dry run. (tất cả các câu lệnh hộ trợ
dry-run
được gắn cờ nên sử dụng.) - Gán commit của bạn là 1 fix của commit trước đó.
- Squash fixup commits normal commits.
- Bỏ qua khu vực dàn trong quá trình commit.
- Interactive staging.
- Danh sách tệp bị bỏ qua.
- Trạng thái của tệp bị bỏ qua.
- Các commit ở Branch1 mà không có ở Branch2
- Danh sách n commit gần nhất
- Reuse recorded resolution, record and reuse previous conflicts resolutions.
- Mở tất cả những tệp bị conflict bằng trình soạn thảo.
- Đếm số đối tượng và dung lượng ổ đĩa của file đã giải nén
- Xoá tất cả các đối tượng không thể truy cập từ cơ sở dữ liệu đối tượng.
- Chuyển đến repo của bạn trên gitweb bằng trình duyệt.
- View the GPG signatures in the commit log
- Xóa bỏ mục trong cấu hình toàn hệ thống.
- Khởi tạo một branch mới không có lịch sử
- Xem tệp của branch khác.
- Chỉ liệt kê commit gốc và đã merge.
- Thay đổi 2 commit với một interactive rebase.
- Danh sách tất cả branch là WIP
- Tìm lỗi với tìm kiếm nhị phân
- Bỏ qua
pre-commit
vàcommit-msg
khi commit - Danh sách các commit và thay đổi cho 1 file nhất định (kể cả file đã đổi tên)
- Clone 1 branch duy nhất
- Tạo và chuyển qua branch mới ngay lập tức
- Bỏ qua kiểu thay đổi tệp trên các commit
- Tắt giao diện màu trong terminal
- Chỉ định cấu hình màu theo branch, diff..
- Hiển thị tất cả các branch đã xếp đặt trong các commit gần đây
- Tìm các dòng thỏa điều kiện (regex hoặc chuỗi) trong những tệp được theo dõi
- Clone một sao chép bóng của repo
- Tìm kiếm lịch sử commit trên toàn bộ branch bằng một từ khóa cho trước
- Lấy commit đầu tiên trong một branch (từ
master
) - Hủy lưu thay đổi tệp
- Đẩy lên remote repo và bỏ qua mọi vật cản
- Thêm tên Remote
- Hiển thị tác giả, thời gian và bản ghi gần nhất lên từng dòng của 1 file cho trước
- Nhóm các commit theo các tác giả và tiêu đề
- Forced push nhưng vẫn đảm bảo bạn không ghi đè lên những thay đổi của người khác
- Hiển số dòng đóng góp của một tác giả
- Revert: Hoàn nguyên toàn bộ một
merge
- Số lượng commit trong 1 branch
- Gõ tắt: git undo
- Thêm các ghi chú
- Hiển thị tất cả
git-notes
- Áp dụng commit từ một repo khác
- Fetch từ một ref nhất định
- Tìm gốc chung của 2 nhánh
- Danh sách commit chưa push
- Thêm mọi thứ, nhưng bỏ qua thay đổi khoảng trắng
- Chỉnh [local/global] git config
- Xem
blame
trong một khoảng nhất định - Xem một biến Git logical
- Tệp vá lỗi được định dạng sẵn.
- Lấy tên repo.
- Xem logs trong một khoảng ngày tháng
- Xem logs ngoại trừ tác giả
- Tạo ra một bản tóm tắt các thay đổi đang chờ
- Danh sách các ref trong remote repository
- Sao lưu những file không được theo dõi.
- Danh sách các lệnh gõ tắt
- Hiển thị trạng thái git ở dạng rút gọn
- Quay về một commit tại 1 thời điểm nhất định trong quá khứ
- Đẩy một branch từ local lên remote và theo dõi
Sử dụng
git help everyday
Show helpful guides that come with Git
git help -g
Tìm kiếm thay đổi bằng nội dung
git log -S'<a term in the source>'
Đồng bộ với remote, ghi đè tất cả những thay đổi hiện tại
git fetch origin && git reset --hard origin/master && git clean -f -d
Danh sách tất cả các tệp trong 1 commit
git ls-tree --name-only -r <commit-ish>
Git reset first commit
git update-ref -d HEAD
Danh sách tất cả tệp đã bị conflict
git diff --name-only --diff-filter=U
Danh sách tất cả các file đã bị thay đổi trong 1 commit
git diff-tree --no-commit-id --name-only -r <commit-ish>
Tất cả những thay đổi chưa được ghi nhận kể từ commit cuối cùng
git diff
Những thay đổi đã được ghi nhận
git diff --cached
Cách khác:
git diff --staged
Xem mọi thay đổi trên tệp kể từ commit cuối
git diff HEAD
Danh sách tất cả các branch
đã được merged
vào master
git branch --merged master
Quay lại branch gần nhất
git checkout -
Cách khác:
git checkout @{-1}
Xóa tất cả branch
đã được merged
vào master
git branch --merged master | grep -v '^\*' | xargs -n 1 git branch -d
Cách khác:
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d # will not delete master if master is not checked out
Danh sách tất cả branch và thông tin cơ bản: upstream, commit gần nhất
git branch -vv
Thông tin về upstream của branch
git branch -u origin/mybranch
Xóa một branch trên máy
git branch -d <local_branchname>
Xóa một remote branch
git push origin --delete <remote_branchname>
Cách khác:
git push origin :<remote_branchname>
Xóa một tag trên máy
git tag -d <tag-name>
Xóa một remote tag
git push origin :refs/tags/<tag-name>
Undo local changes with the last content in head
git checkout -- <file_name>
Revert: Hủy bỏ một commit bằng cách tạo thêm 1 commit
git revert <commit-ish>
Reset: Hủy bỏ tất cả commit, khuyên dùng cho branch cá nhân
git reset <commit-ish>
Sửa lại commit message gần vừa tạo
git commit -v --amend
Xem lịch sử commit riêng branch hiện tại
git cherry -v master
Người thay đổi.
git commit --amend --author='Author Name <email@address.com>'
Reset tác giả, sau khi tác giả đã bị thay đổi trong cấu hình toàn hệ thống.
git commit --amend --reset-author --no-edit
Thay đổi đường dẫn remote
git remote set-url origin <URL>
Lấy danh sách của tất các remote
git remote
Cách khác:
git remote show
Lấy danh sách branch trên local và remote
git branch -a
Chỉ lấy danh sách branch trên remote
git branch -r
Lưu thay đổi 1 phần của tệp, thay vì toàn bộ tệp
git add -p
Lấy câu lệnh git tự động hoàn thành
curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc
Những gì đã thay đổi trong 2 tuần gần nhất?
git log --no-merges --raw --since='2 weeks ago'
Cách khác:
git whatchanged --since='2 weeks ago'
Xem tất cả những commit đã được tạo từ khi fork từ master
git log --no-merges --stat --reverse master..
Chọn các commit từ nhiều branch sử dụng cherry-pick
git checkout <branch-name> && git cherry-pick <commit-ish>
Tìm cách branch có chứa commit-hash
git branch -a --contains <commit-ish>
Cách khác:
git branch --contains <commit-ish>
Gõ tắt Git
git config --global alias.<handle> <command>
git config --global alias.st status
Lưu trạng thái hiện tại của các tệp mà không commit
git stash
Cách khác:
git stash save
Lưu trạng thái hiện tại của những thay đổi chưa được lưu vào những tệp đã được theo dõi
git stash -k
Cách khác:
git stash --keep-index
git stash save --keep-index
Lưu trạng thái hiện tại bao gồm cả tệp chưa được theo dõi
git stash -u
Cách khác:
git stash save -u
git stash save --include-untracked
Lưu trạng thái hiện tại với message
git stash save <message>
Lưu trạng thái hiện tại của tất cả file (bị bỏ qua, chưa được theo dõi, và được theo dõi)
git stash -a
Cách khác:
git stash --all
git stash save --all
Xem danh sách tất cả các lưu tạm
git stash list
Áp dụng lưu tạm bất kỳ mà không xóa nó hỏi danh sách lưu tạm
git stash apply <stash@{n}>
Áp dụng lưu tạm cuối cùng và xóa nó khỏi danh sách lưu tạm
git stash pop
Cách khác:
git stash apply stash@{0} && git stash drop stash@{0}
Xóa tất cả lưu tạm
git stash clear
Cách khác:
git stash drop <stash@{n}>
Lấy 1 file từ 1 lưu tạm
git checkout <stash@{n}> -- <file_path>
Cách khác:
git checkout stash@{0} -- <file_path>
Hiển thị danh sách tệp được theo dõi
git ls-files -t
Hiển thị danh sách tệp chưa được theo dõi
git ls-files --others
Hiển thị danh sách tệp bị bỏ qua
git ls-files --others -i --exclude-standard
Tạo nhánh làm việc mới từ một repo (git 2.5)
git worktree add -b <branch-name> <path> <start-point>
Tạo một nhánh làm việc mới từ trạng thái HEAD
git worktree add --detach <path> HEAD
Hủy bỏ theo dõi tệp mà không xóa nó
git rm --cached <file_path>
Cách khác:
git rm --cached -r <directory_path>
Trước khi xóa những tệp/ thư mục chưa được theo dõi, thực thi việc lấy danh sách các tệp/ thư mục này
git clean -n
Force: Xóa bỏ tất cả tệp chưa được theo dõi
git clean -f
Force: Xóa bỏ tất cả thư mục chưa được theo dõi
git clean -f -d
Cập nhật tất cả submodule
git submodule foreach git pull
Cách khác:
git submodule update --init --recursive
git submodule update --remote
Hiển thị tất cả các commit chưa được merged
vào master
của branch
hiện tại
git cherry -v master
Cách khác:
git cherry -v master <branch-to-be-merged>
Đổi tên một branch
git branch -m <new-branch-name>
Cách khác:
git branch -m [<old-branch-name>] <new-branch-name>
Rebases 'feature' thành 'master' và merges nó vào master
git rebase master feature && git checkout master && git merge -
Khóa branch master
git archive master --format=zip --output=master.zip
Thay đổi commit gần nhất mà không thay đổi commit message
git add --all && git commit --amend --no-edit
Truy vấn đến cho các nhánh remote mà nó đã bị xóa trong remote.
git fetch -p
Cách khác:
git remote prune origin
Truy xuất commit-hash
của bản sửa đổi ban đầu.
git rev-list --reverse HEAD | head -1
Cách khác:
git rev-list --max-parents=0 HEAD
git log --pretty=oneline | tail -1 | cut -c 1-40
git log --pretty=oneline --reverse | head -1 | cut -c 1-40
Xem cây commit theo dạng đồ họa
git log --pretty=oneline --graph --decorate --all
Cách khác:
gitk --all
Deploy một thư mục đã được theo dõi vào gh-pages
git subtree push --prefix subfolder_name origin gh-pages
Thêm một dự án vào repo sử dụng subtree
git subtree add --prefix=<directory_name>/<project_name> --squash git@github.com:<username>/<project_name>.git master
Lấy thay đổi mới nhất trong repo của bạn cho một dự án đã được liên kết dùng subtree
git subtree pull --prefix=<directory_name>/<project_name> --squash git@github.com:<username>/<project_name>.git master
Xuất một branch với lịch sử ra một tệp
git bundle create <file> <branch-name>
Nhập từ một bundle
git clone repo.bundle <repo-dir> -b <branch-name>
Lấy tên của branch hiện tại
git rev-parse --abbrev-ref HEAD
Bỏ qua 1 file trong commit (e.g. Changelog).
git update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assume-unchanged Changelog
Lưu tạm các thay đổi trước khi rebase
git rebase --autostash
Cập nhật yêu cầu tích hợp bằng ID vào local branch
git fetch origin pull/<id>/head:<branch-name>
Cách khác:
git pull origin pull/<id>/head:<branch-name>
Hiển thị tag gần nhất trên branch hiện tại.
git describe --tags --abbrev=0
Hiển thị thay đổi tổng quát.
git diff --word-diff
Hiển thị thay đổi sử dụng các công cụ.
git difftool -t <commit1> <commit2> <path>
Không xem xét các thay đổi cho tệp đã theo dõi.
git update-index --assume-unchanged <file_name>
Hủy assume-unchanged.
git update-index --no-assume-unchanged <file_name>
Dọn dẹp các tệp từ .gitignore
.
git clean -X -f
Khôi phục tệp đã bị xóa.
git checkout <deleting_commit>^ -- <file_path>
Khôi phục một file từ một commit-hash
nhất định
git checkout <commit-ish> -- <file_path>
Luôn rebase
thay vì tích hợp khi pull.
git config --global pull.rebase true
Cách khác:
#git < 1.7.9
git config --global branch.autosetuprebase always
Danh sách tất cả các lối tắt và cấu hình.
git config --list
Cấu hình git phân biệt chữ hoa chữ thường
git config --global core.ignorecase false
Thêm trình soạn thảo của bạn.
git config --global core.editor '$EDITOR'
Tự động sửa lỗi chính tả.
git config --global help.autocorrect 1
Kiểm tra nếu thay đổi đã là một phần của xuất bản.
git name-rev --name-only <SHA-1>
Dry run. (tất cả các câu lệnh hộ trợ dry-run
được gắn cờ nên sử dụng.)
git clean -fd --dry-run
Gán commit của bạn là 1 fix của commit trước đó.
git commit --fixup <SHA-1>
Squash fixup commits normal commits.
git rebase -i --autosquash
Bỏ qua khu vực dàn trong quá trình commit.
git commit --only <file_path>
Interactive staging.
git add -i
Danh sách tệp bị bỏ qua.
git check-ignore *
Trạng thái của tệp bị bỏ qua.
git status --ignored
Các commit ở Branch1 mà không có ở Branch2
git log Branch1 ^Branch2
Danh sách n commit gần nhất
git log -<n>
Cách khác:
git log -n <n>
Reuse recorded resolution, record and reuse previous conflicts resolutions.
git config --global rerere.enabled 1
Mở tất cả những tệp bị conflict bằng trình soạn thảo.
git diff --name-only | uniq | xargs $EDITOR
Đếm số đối tượng và dung lượng ổ đĩa của file đã giải nén
git count-objects --human-readable
Xoá tất cả các đối tượng không thể truy cập từ cơ sở dữ liệu đối tượng.
git gc --prune=now --aggressive
Chuyển đến repo của bạn trên gitweb bằng trình duyệt.
git instaweb [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]
View the GPG signatures in the commit log
git log --show-signature
Xóa bỏ mục trong cấu hình toàn hệ thống.
git config --global --unset <entry-name>
Khởi tạo một branch mới không có lịch sử
git checkout --orphan <branch_name>
Xem tệp của branch khác.
git show <branch_name>:<file_name>
Chỉ liệt kê commit gốc và đã merge.
git log --first-parent
Thay đổi 2 commit với một interactive rebase.
git rebase --interactive HEAD~2
Danh sách tất cả branch là WIP
git checkout master && git branch --no-merged
Tìm lỗi với tìm kiếm nhị phân
git bisect start # Search start
git bisect bad # Set point to bad commit
git bisect good v2.6.13-rc2 # Set point to good commit|tag
git bisect bad # Say current state is bad
git bisect good # Say current state is good
git bisect reset # Finish search
Bỏ qua pre-commit
và commit-msg
khi commit
git commit --no-verify
Danh sách các commit và thay đổi cho 1 file nhất định (kể cả file đã đổi tên)
git log --follow -p -- <file_path>
Clone 1 branch duy nhất
git clone -b <branch-name> --single-branch https://github.com/user/repo.git
Tạo và chuyển qua branch mới ngay lập tức
git checkout -b <branch-name>
Cách khác:
git branch <branch-name> && git checkout <branch-name>
Bỏ qua kiểu thay đổi tệp trên các commit
git config core.fileMode false
Tắt giao diện màu trong terminal
git config --global color.ui false
Chỉ định cấu hình màu theo branch, diff..
git config --global <specific command e.g branch, diff> <true, false or always>
Hiển thị tất cả các branch đã xếp đặt trong các commit gần đây
git for-each-ref --sort=-committerdate --format='%(refname:short)' refs/heads/
Tìm các dòng thỏa điều kiện (regex hoặc chuỗi) trong những tệp được theo dõi
git grep --heading --line-number 'foo bar'
Clone một sao chép bóng của repo
git clone https://github.com/user/repo.git --depth 1
Tìm kiếm lịch sử commit trên toàn bộ branch bằng một từ khóa cho trước
git log --all --grep='<given-text>'
Lấy commit đầu tiên trong một branch (từ master
)
git log master..<branch-name> --oneline | tail -1
Hủy lưu thay đổi tệp
git reset HEAD <file-name>
Đẩy lên remote repo và bỏ qua mọi vật cản
git push -f <remote-name> <branch-name>
Thêm tên Remote
git remote add <remote-nickname> <remote-url>
Hiển thị tác giả, thời gian và bản ghi gần nhất lên từng dòng của 1 file cho trước
git blame <file-name>
Nhóm các commit theo các tác giả và tiêu đề
git shortlog
Forced push nhưng vẫn đảm bảo bạn không ghi đè lên những thay đổi của người khác
git push --force-with-lease <remote-name> <branch-name>
Hiển số dòng đóng góp của một tác giả
git log --author='_Your_Name_Here_' --pretty=tformat: --numstat | gawk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s removed lines: %s total lines: %s
", add, subs, loc }' -
Cách khác:
git log --author='_Your_Name_Here_' --pretty=tformat: --numstat | awk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s, removed lines: %s, total lines: %s
", add, subs, loc }' - # on Mac OSX
Revert: Hoàn nguyên toàn bộ một merge
git revert -m 1 <commit-ish>
Số lượng commit trong 1 branch
git rev-list --count <branch-name>
Gõ tắt: git undo
git config --global alias.undo '!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f'
Thêm các ghi chú
git notes add -m 'Note on the previous commit....'
Hiển thị tất cả git-notes
git log --show-notes='*'
Áp dụng commit từ một repo khác
git --git-dir=<source-dir>/.git format-patch -k -1 --stdout <SHA1> | git am -3 -k
Fetch từ một ref nhất định
git fetch origin master:refs/remotes/origin/mymaster
Tìm gốc chung của 2 nhánh
diff -u <(git rev-list --first-parent BranchA) <(git rev-list --first-parent BranchB) | sed -ne 's/^ //p' | head -1
Danh sách commit chưa push
git log --branches --not --remotes
Cách khác:
git log @{u}..
git cherry -v
Thêm mọi thứ, nhưng bỏ qua thay đổi khoảng trắng
git diff --ignore-all-space | git apply --cached
Chỉnh [local/global] git config
git config [--global] --edit
Xem blame
trong một khoảng nhất định
git blame -L <start>,<end>
Xem một biến Git logical
git var -l | <variable>
Tệp vá lỗi được định dạng sẵn.
git format-patch -M upstream..topic
Lấy tên repo.
git rev-parse --show-toplevel
Xem logs trong một khoảng ngày tháng
git log --since='FEB 1 2017' --until='FEB 14 2017'
Xem logs ngoại trừ tác giả
git log --perl-regexp --author='^((?!excluded-author-regex).*)
Tạo ra một bản tóm tắt các thay đổi đang chờ
git request-pull v1.0 https://git.ko.xz/project master:for-linus
Danh sách các ref trong remote repository
git ls-remote git://git.kernel.org/pub/scm/git/git.git
Sao lưu những file không được theo dõi.
git ls-files --others -i --exclude-standard | xargs zip untracked.zip
Danh sách các lệnh gõ tắt
git config -l | grep alias | sed 's/^alias\.//g'
Cách khác:
git config -l | grep alias | cut -d '.' -f 2
Hiển thị trạng thái git ở dạng rút gọn
git status --short --branch
Quay về một commit tại 1 thời điểm nhất định trong quá khứ
git checkout master@{yesterday}
Đẩy một branch từ local lên remote và theo dõi
git push -u origin <branch_name>
<!-- Don’t remove or change the comment below – that can break automatic updates. More info at <http://npm.im/doxie.inject>. -->
<!-- @doxie.inject end -->