100条 Git 命令:
git init
: 初始化一个 Git 仓库。git status
: 查看当前仓库的状态。git add
: 将文件添加到暂存区。例如:git add file.txt
git commit
: 提交修改记录。例如:git commit -m "commit message"
git clone
: 克隆一个 Git 仓库。例如:git clone https://github.com/binjie09/sample-repo.git
git push
: 推送本地提交到远程仓库。例如:git push origin main
git pull
: 拉取远程仓库的代码到本地。例如:git pull origin main
git branch
: 列出所有分支。例如:git branch -a
git checkout
: 切换分支或还原修改。例如:git checkout main
git merge
: 合并指定分支到当前分支。例如:git merge feature-branch
git tag
: 创建标签。例如:git tag v1.0.0
git log
: 查看提交历史。例如:git log --pretty=oneline
git blame
: 查看文件每一行的最后一次修改。例如:git blame file.txt
git diff
: 查看修改前后的差异。例如:git diff HEAD~1..HEAD file.txt
git stash
: 将当前修改保存到暂存区。例如:git stash save "message"
git fetch
: 从远程仓库拉取代码,但不自动合并到本地分支。例如:git fetch origin
git reset
: 恢复到指定版本或撤销操作。例如:git reset HEAD~1
或git reset --hard commit-id
git revert
: 撤销指定提交,生成一个新的提交。例如:git revert commit-id
git rm
: 从 Git 中删除文件。例如:git rm file.txt
git mv
: 在 Git 中移动或重命名文件。例如:git mv old-name.txt new-name.txt
git remote
: 与远程仓库交互。例如:git remote -v
git submodule
: 管理子模块。例如:git submodule add https://github.com/binjie09/submodule-repo.git
git rebase
: 将当前分支变基到另一个分支上。例如:git rebase main
git cherry-pick
: 选择某个提交并应用到当前分支。例如:git cherry-pick commit-id
git bisect
: 二分查找导致 bug 的代码提交。例如:git bisect start
和git bisect bad
。git format-patch
: 格式化提交记录并生成 patch 文件。例如:git format-patch HEAD~3..HEAD
git apply
: 应用 patch 文件。例如:git apply patch-file
git grep
: 在版本库中搜索指定的字符串。例如:git grep keyword
git show
: 查看某个提交或标签的详细信息。例如:git show commit-id
git clean
: 清理未被 Git 跟踪的文件。例如:git clean -f
git diff-tree
: 比较文件夹树中不同版本的差异。例如:git diff-tree HEAD~1 HEAD
git cherry
: 计算某个分支相对于另一个分支的差异。例如:git cherry -v main feature-branch
git describe
: 根据最近的标签描述当前提交。例如:git describe --tags
git blame -L
: 只查看某行的最后一次修改。例如:git blame -L 10,20 file.txt
git archive
: 将仓库打包为一个 tar 文件。例如:git archive -o archive.tar.gz HEAD
git shortlog
: 列出每个提交作者和提交注释。例如:git shortlog
git log --graph
: 显示分支图谱。例如:git log --graph
git log --pretty=format
: 显示自定义格式的提交记录。例如:git log --pretty=format:"%h - %an, %ar : %s"
git log --grep
: 搜索符合条件的提交记录。例如:git log --grep="fixed bug"
git config
: 配置 Git。例如:git config --global user.name "Your Name"
git reflog
: 查看引用日志。例如:git reflog
git rev-list
: 列出提交范围内的提交 ID。例如:git rev-list HEAD~5..HEAD
git rev-parse
: 将引用转换为 SHA-1 哈希值。例如:git rev-parse HEAD
git revert --no-commit
: 撤销指定提交,但不生成新的提交。例如:git revert --no-commit commit-id
git added
: 查看添加到暂存区的文件。例如:git added
git log --oneline
: 显示单行提交记录。例如:git log --oneline
git clone --depth
: 克隆仓库的最近几个提交。例如:git clone --depth=3 https://github.com/binjie09/sample-repo.git
git config --global alias.<alias-name> <git-command>
: 创建 Git 命令的别名。例如:git config --global alias.ci commit
git diff --stat
: 显示修改的统计信息。例如:git diff --stat HEAD~1..HEAD
git cherry-pick --no-commit
: 选择某个提交但不应用它。例如:git cherry-pick --no-commit commit-id
git push --force
: 强制推送本地修改到远程仓库。例如:git push --force origin main
git blame -b
: 忽略空白变化。例如:git blame -b file.txt
git submodule update
: 更新子模块。例如:git submodule update --remote
git log --all
: 显示所有分支的提交记录。例如:git log --all
git stash apply
: 应用保存在暂存区的修改。例如:git stash apply stash@{0}
git fetch --all
: 拉取远程仓库的所有分支。例如:git fetch --all
git remote add
: 添加一个新的远程仓库。例如:git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
git cherry-pick --edit
: 选择某个提交并应用到当前分支,允许编辑提交信息。例如:git cherry-pick --edit commit-id
git commit --amend
: 修改最近一次的提交记录。例如:git commit --amend -m "new message"
git shortlog -s
: 显示每个提交作者的提交统计信息。例如:git shortlog -s
git push --tags
: 推送所有标签到远程仓库。例如:git push --tags origin
git blame -C
: 查找文件的复制和重命名。例如:git blame -C file.txt
git reflog --all
: 查看所有引用的日志。例如:git reflog --all
git log --follow
: 跟踪指定文件的历史。例如:git log --follow file.txt
git log --graph --oneline
: 结合显示分支图谱和单行提交记录。例如:git log --graph --oneline
git stash pop
: 应用并删除保存在暂存区的修改。例如:git stash pop stash@{0}
git remote remove
: 删除一个远程仓库。例如:git remote remove upstream
git rebase -i
: 交互地重新排列提交记录。例如:git rebase -i HEAD~3
git tag -a
: 创建带注释的标签。例如:git tag -a v1.0.0 -m "release v1.0.0" commit-id
git log --merged
: 显示已经合并到当前分支的提交记录。例如:git log --merged
git branch -d
: 删除指定的分支。例如:git branch -d feature-branch
git grep --exclude
: 搜索时排除指定文件。例如:git grep keyword --exclude=*.md
git checkout -b
: 创建新的分支并切换到该分支。例如:git checkout -b new-branch
git clean -fdx
: 清理工作目录中未被跟踪的文件和目录。例如:git clean -fdx
git log --no-merges
: 显示不包括合并提交的提交历史。例如:git log --no-merges
git merge --no-commit
: 合并指定分支但不生成新的提交。例如:git merge --no-commit feature-branch
git blame -L -M
: 跟踪文件中的代码移动。例如:git blame -L -M file.txt
git checkout HEAD
: 撤销工作区中的修改。例如:git checkout HEAD file.txt
git log --before
: 显示指定日期之前的提交记录。例如:git log --before="2022-12-31"
git branch -a -v
: 显示所有分支及其最后一次提交信息。例如:git branch -a -v
git cherry-pick --abort
: 放弃当前的 cherry-pick 操作。例如:git cherry-pick --abort
git push --delete
: 删除远程仓库中的分支或标签。例如:git push --delete origin feature-branch
git pull --rebase
: 拉取远程仓库的代码并将本地的修改应用到拉取的代码上。例如:git pull --rebase origin main
git checkout -- <file-name>
: 撤销指定文件的修改(还原至上一次提交)。例如:git checkout -- file.txt
git log --after
: 显示指定日期之后的提交记录。例如:git log --after="2023-01-01"
git show-branch
: 显示每个分支的最后一次提交记录。例如:git show-branch
git bisect run
: 使用脚本自动找到导致问题的代码提交。例如:git bisect run script.sh
git submodule init
: 初始化子模块。例如:git submodule init
git cherry-pick --continue
: 继续 cherry-pick 操作。例如:git cherry-pick --continue
git push --set-upstream
: 设置当前分支的上游仓库分支。例如:git push --set-upstream origin new-branch
git push --dry-run
: 模拟推送本地修改到远程仓库,但不实际运行。例如:git push --dry-run origin main
git status -s
: 显示简短的仓库状态。例如:git status -s
git log --format
: 显示格式化的提交记录。例如:git log --format='%h %s'
git branch -m
: 重命名分支。例如:git branch -m old-branch new-branch
git merge --squash
: 合并指定分支并将所有提交git blame -L -C
: 跟踪文件中的代码复制和移动。例如:git blame -L -C file.txt
git stash list
: 显示已保存在暂存区的修改列表。例如:git stash list
git remote prune
: 删除本地不存在的远程分支引用。例如:git remote prune origin
git log --oneline --decorate
: 显示每个提交的标签和分支。例如:git log --oneline --decorate
git rev-parse --abbrev-ref HEAD
: 显示当前分支的名称。例如:git rev-parse --abbrev-ref HEAD
希望这些命令和案例能够对你有帮助。