将git命令以仓库初始化和克隆、提交和修改、查看信息、分支管理、远程仓库、标签管理、搜索和过滤分类,并列取了相关的命令。
仓库初始化和克隆:
git init
: 在当前目录初始化一个新的Git仓库。git clone [url]
: 克隆一个远程仓库到本地。
提交和修改:
git add [file]
: 将文件添加到暂存区,准备提交。git commit -m "[message]"
: 将暂存区的文件提交到本地仓库,并附上提交信息。git status
: 查看工作区和暂存区的状态,显示文件的修改情况。git diff
: 查看工作区和暂存区之间的差异。git commit --amend
: 修改上一次提交的提交信息或者添加漏掉的文件。git cherry-pick [commit]
: 将指定提交应用到当前分支。git revert [commit]
: 创建一个新的提交,撤销指定的提交。git stash
: 将当前未提交的修改保存到暂存区,以便稍后恢复。
查看信息:
git log
: 查看提交历史。git log -p
: 显示提交历史,并显示每个提交的详细改动。git log --graph
: 以图形化形式显示提交历史。git show [commit]
: 查看指定提交的详细信息,包括改动内容。git show-branch
: 查看各个分支的提交历史。git blame [file]
: 显示指定文件的每一行是由谁在何时添加的。
分支管理:
git branch
: 查看本地分支,显示当前所在分支。git checkout [branch]
: 切换到指定分支。git checkout -b [branch]
: 创建并切换到一个新的分支。git merge [branch]
: 合并指定分支到当前分支。git rebase [branch]
: 将当前分支的提交移动到目标分支之上,可以合并提交历史。git branch -d [branch]
: 删除指定分支(-d用于已经合并的分支,-D用于未合并的分支)。
远程仓库:
git remote -v
: 查看远程仓库地址。git remote add [name] [url]
: 添加一个远程仓库。git remote remove [name]
: 移除一个远程仓库。git pull
: 从远程仓库拉取代码到本地仓库。git push
: 将本地提交推送到远程仓库。git push --tags
: 将本地的所有标签推送到远程仓库。git fetch
: 从远程仓库获取最新的提交,但不合并到本地分支。git remote prune [remote]
: 删除本地不存在的远程分支。
标签管理:
git tag [name]
: 在当前提交上创建一个标签。git tag -d [name]
: 删除指定标签。git tag -a [name] -m "[message]" [commit]
: 在指定的提交上创建带有说明的标签。
搜索和过滤:
git grep [pattern]
: 在代码库中搜索指定模式的内容。git log --grep=[pattern]
: 根据指定的模式搜索提交信息。git log --author="[name]"
: 查看指定作者提交的历史。
其他命令:
git reflog
: 显示HEAD的历史,包括移动或重置之前的位置。git cherry
: 比较两个分支之间的差异,显示另一个分支中有而当前分支没有的提交。git bisect
: 用二分查找法定位引入问题的提交。git submodule
: 管理Git子模块。git clean -n
: 预览将要删除的未被跟踪的文件和目录。git clean -f
: 强制删除未被跟踪的文件和目录。