Git 命令大全
第一章:Git 简介
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年创建,用于有效、高速地处理从小到大的项目。它是一个命令行工具,用于跟踪和管理源代码历史记录。
第二章:Git 的 100 种命令
以下是 Git 的 100 种常用命令,每种命令都附有基本用法、使用场景和示例。
基础命令
-
git init - 初始化一个新的 Git 仓库。
- 场景:开始一个新项目。
- 示例:git init my-project
-
git clone [url] - 克隆远程仓库到本地。
- 场景:获取远程仓库的副本。
- 示例:git clone https://github.com/user/repo.git
-
git add [file] - 将文件添加到暂存区。
- 场景:准备提交。
- 示例:git add README.md
-
git commit -m "[message]" - 提交更改到仓库。
- 场景:保存更改。
- 示例:git commit -m "Add README"
-
git status - 显示仓库的状态。
- 场景:查看当前状态。
- 示例:git status
-
git log - 显示提交历史。
- 场景:查看历史记录。
- 示例:git log
-
git diff - 显示更改的文件差异。
- 场景:查看更改。
- 示例:git diff
-
git branch - 列出本地分支。
- 场景:查看分支。
- 示例:git branch
-
git checkout [branch] - 切换到指定分支。
- 场景:切换分支。
- 示例:git checkout feature
-
git merge [branch] - 合并指定分支到当前分支。
- 场景:合并分支。
- 示例:git merge feature
分支管理
-
git branch -a - 列出所有分支(本地和远程)。
- 示例:git branch -a
-
git branch -r - 列出远程分支。
- 示例:git branch -r
-
git branch -d [branch] - 删除本地分支。
- 示例:git branch -d feature
-
git branch -D [branch] - 强制删除本地分支。
- 示例:git branch -D feature
-
git checkout -b [branch] - 创建并切换到新分支。
- 示例:git checkout -b feature
-
git push origin --delete [branch] - 删除远程分支。
- 示例:git push origin --delete feature
-
git fetch - 从远程仓库获取所有分支。
- 示例:git fetch
-
git pull - 从远程仓库获取并合并到当前分支。
- 示例:git pull origin master
-
git push [remote] [branch] - 推送本地分支到远程仓库。
- 示例:git push origin feature
-
git remote -v - 显示远程仓库信息。
- 示例:git remote -v
标签管理
-
git tag - 列出所有标签。
- 示例:git tag
-
git tag [tagname] - 创建标签。
- 示例:git tag v1.0.0
-
git tag -d [tagname] - 删除标签。
- 示例:git tag -d v1.0.0
-
git push origin --tags - 推送所有标签到远程仓库。
- 示例:git push origin --tags
-
git checkout [tagname] - 切换到标签的版本。
- 示例:git checkout v1.0.0
远程仓库管理
-
git remote add [name] [url] - 添加远程仓库。
- 示例:git remote add origin https://github.com/user/repo.git
-
git remote rename [old] [new] - 重命名远程仓库。
- 示例:git remote rename origin upstream
-
git remote remove [name] - 删除远程仓库。
- 示例:git remote remove upstream
-
git remote set-url [name] [url] - 设置远程仓库的 URL。
- 示例:git remote set-url origin https://github.com/newuser/repo.git
-
git ls-remote [url] - 显示远程仓库的引用和哈希值。
- 示例:git ls-remote https://github.com/user/repo.git
撤销和重置
-
git reset [file] - 重置暂存区的文件。
- 示例:git reset README.md
-
git reset --hard - 重置工作目录和暂存区到最后一次提交。
- 示例:git reset --hard
-
git revert [commit] - 撤销指定的提交。
- 示例:git revert 1234567
-
git clean -f - 清除未跟踪的文件。
- 示例:git clean -f
-
git clean -fd - 清除未跟踪的文件和目录。
- 示例:git clean -fd
-
git stash - 暂存工作目录的更改。
- 示例:git stash
-
git stash pop - 恢复之前暂存的更改。
- 示例:git stash pop
-
git stash list - 列出所有暂存的更改。
- 示例:git stash list
-
git stash drop [stash] - 删除指定的暂存更改。
- 示例:git stash drop stash@{0}
-
git reflog - 显示所有参考的日志。
- 示例:git reflog
子模块管理
-
git submodule add [url] - 添加子模块。
- 示例:git submodule add https://github.com/user/submodule.git
-
git submodule update --init --recursive - 初始化和更新所有子模块。
- 示例:git submodule update --init --recursive
-
git submodule status - 显示子模块的状态。
- 示例:git submodule status
-
git submodule deinit [path] - 取消初始化子模块。
- 示例:git submodule deinit path/to/submodule
-
git submodule foreach [command] - 对所有子模块执行命令。
- 示例:git submodule foreach git pull origin master
忽略文件
-
git ignore - 列出全局忽略的文件。
- 示例:git ignore
-
git config --global core.excludesfile ~/.gitignore_global - 设置全局忽略文件。
- 示例:git config --global core.excludesfile ~/.gitignore_global
-
git add .gitignore - 将忽略文件添加到仓库。
- 示例:git add .gitignore
-
git check-ignore [file] - 检查文件是否被忽略。
- 示例:git check-ignore build/
-
git ls-files --others --ignored --exclude-standard - 列出所有被忽略的文件。
- 示例:git ls-files --others --ignored --exclude-standard
交互式命令
-
git add -i - 进入交互式添加模式。
- 示例:git add -i
-
git commit -a - 自动暂存所有已跟踪的更改并提交。
- 示例:git commit -a
-
git rebase -i [commit] - 交互式变基。
- 示例:git rebase -i HEAD~3
-
git cherry-pick [commit] - 选择性地应用提交。
- 示例:git cherry-pick 1234567
-
git bisect - 二分查找错误的提交。
- 示例:git bisect start
-
git blame [file] - 显示文件每一行的最后提交者。
- 示例:git blame README.md
-
git grep [pattern] - 在工作目录中搜索文本。
- 示例:git grep "Hello World"
-
git gui - 打开 Git 的图形用户界面。
- 示例:git gui
-
gitk - 打开 Git 的图形历史查看工具。
- 示例:gitk
-
git mergetool - 使用图形工具解决合并冲突。
- 示例:git mergetool
配置和帮助
-
git config --list - 列出所有 Git 配置。
- 示例:git config --list
-
git config --global user.name "[name]" - 设置全局用户名。
- 示例:git config --global user.name "John Doe"
-
git config --global user.email "[email]" - 设置全局用户邮箱。
- 示例:git config --global user.email "john.doe@example.com"
-
git config --global color.ui auto - 启用颜色显示。
- 示例:git config --global color.ui auto
-
git help [command] - 显示指定命令的帮助信息。
- 示例:git help commit
-
git --version - 显示 Git 的版本。
- 示例:git --version
-
git help config - 显示关于配置选项的帮助信息。
- 示例:git help config
-
git help每一天 - 显示关于每一天命令的帮助信息。
- 示例:git help everyday
-
git help glossary - 显示 Git 术语表。
- 示例:git help glossary
-
git help tutorial - 显示 Git 教程。
- 示例:git help tutorial
工作流命令
-
git flow init - 初始化一个 Git Flow 工作流。
- 示例:git flow init
-
git flow feature start [feature] - 开始一个新的功能分支。
- 示例:git flow feature start login
-
git flow feature finish [feature] - 完成一个功能分支。
- 示例:git flow feature finish login
-
git flow release start [version] - 开始一个新的发布分支。
- 示例:git flow release start 1.0.0
-
git flow release finish [version] - 完成一个发布分支。
- 示例:git flow release finish 1.0.0
-
git flow hotfix start [hotfix] - 开始一个新的热修复分支。
- 示例:git flow hotfix start 1.0.1
-
git flow hotfix finish [hotfix] - 完成一个热修复分支。
- 示例:git flow hotfix finish 1.0.1
-
git flow support start [support] - 开始一个新的支持分支。
- 示例:git flow support start 1.0-stable
-
git flow support finish [support] - 完成一个支持分支。
- 示例:git flow support finish 1.0-stable
-
git flow version - 显示当前 Git Flow 版本。
- 示例:git flow version
子命令
-
git clean - 清除工作目录中的未跟踪文件。
- 示例:git clean
-
git describe - 显示最近的标签和提交的哈希值。
- 示例:git describe
-
git fsck - 检查 Git 仓库的完整性。
- 示例:git fsck
-
git gc - 清理无用的文件和优化仓库。
- 示例:git gc
-
git prune - 移除引用的远程跟踪分支。
- 示例:git prune
-
git repack - 重新打包仓库中的包文件。
- 示例:git repack
-
git whatchanged - 显示仓库的变更日志。
- 示例:git whatchanged
-
git worktree add - 添加一个新的工作树。
- 示例:git worktree add
-
git worktree list - 列出所有工作树。
- 示例:git worktree list
-
git worktree remove - 删除一个工作树。
- 示例:git worktree remove
脚本和钩子
-
git init-db - 创建一个新的 Git 仓库。
- 示例:git init-db
-
git get-tar-commit-id [file] - 获取 tar 文件的提交 ID。
- 示例:git get-tar-commit-id archive.tar
-
git instaweb - 启动一个简单的 web 服务器。
- 示例:git instaweb
-
git archive - 创建一个归档文件。
- 示例:git archive
-
git bisect run [command] - 自动执行 bisect 测试。
- 示例:git bisect run make
-
git cat-file - 显示 Git 对象的信息。
- 示例:git cat-file
-
git check-attr - 检查文件属性。
- 示例:git check-attr
-
git checkout-index - 从索引中检出文件。
- 示例:git checkout-index
-
git commit-tree - 创建一个新的提交。
- 示例:git commit-tree
-
git diff-files - 显示工作目录和索引的差异。
- 示例:`git diff-files`
请注意,这个列表并不完整,Git 有更多命令和选项,可以根据具体需求使用。这些命令覆盖了 Git 的基本使用,分支管理,标签管理,远程仓库管理,撤销和重置,子模块管理,忽略文件,交互式命令,配置和帮助,工作流命令,子命令,脚本和钩子等多个方面。
还没有评论,来说两句吧...