Git 常用命令
Git 常用命令
Git 是一个分布式版本控制以及源代码管理工具,它可以为你的项目保存若干快照,以此来对整个项目进行版本管理。
init
初始化一个新的 Git 版本库,这个版本库的配置、存储等信息会被保存到当前目录的.git 文件夹中。
git init .config
修改 Git 配置,可以是版本库的配置,也可以是系统或全局配置。
# 输出、设置基本的全局变量
git config --global user.email
git config --global user.name
git config --global user.email "test@gmail.com"
git config --global user.name "Test"help
Git 帮助文档,可以供我们快速查阅。
# 查找可用命令
git help
# 查找所有可用命令
git help -a
# 在文档当中查找特定的命令
# git help <命令>
git help add
git help commit
git help initstatus
显示当前工作空间的状态信息。
# 显示分支,未跟踪文件,更改和其他不同
git status
# 查看其他 git status 的用法
git help statusadd
添加文件到当前工作空间。
# 添加一个文件
git add test.c
# 添加一个子目录中的文件
git add /path/to/file/test1.c
# 支持正则表达式
git add ./*.pybranch
管理分支,可以通过命令对分支进行增删改查。
# 查看所有的分支和远程分支
git branch -a
# 创建一个新的分支
git branch myNewBranch
# 删除一个分支
git branch -d myBranch
# 重命名分支
# git branch -m <旧名称> <新名称>
git branch -m myBranchName myNewBranchName
# 编辑分支的介绍
git branch myBranchName --edit-descriptioncheckout
# 检出一个版本库,默认将更新到 master 分支
git checkout
# 检出到一个特定的分支
git checkout branchName
# 新建一个分支,并且切换过去,相当于"git branch <名字>; git checkout <名字>"
git checkout -b newBranchclone
# 克隆仓库
git clone https://github.com/liuyuhe666/liuyuhe666.gitcommit
# 提交时附带提交信息
git commit -m "feat: add login"diff
显示当前工作区和提交的不同。
# 显示工作目录和索引的不同
git diff
# 显示索引和最近一次提交的不同
git diff --cached
# 显示工作目录和最近一次提交的不同
git diff HEADgrep
在版本库中进行快速查找。
# 在搜索结果中显示行号
git config --global grep.lineNumber true
# 使得搜索结果可读性更好
git config --global alias.g "grep --break --heading --line-number"# 在所有的 java 文件中查找 variableName
git grep 'variableName' -- '*.java'log
显示版本库的提交日志。
# 显示所有提交
git log
# 显示某几条提交信息
git log -n 10
# 仅显示合并提交
git log --mergesmerge
合并分支。
# 将其他分支合并到当前分支
git merge branchName
# 在合并时创建一个新的合并后的提交
git merge --no-ff branchNamemv
重命名或移动一个文件。
# 重命名
git mv HelloWorld.c HelloNewWorld.c
# 移动
git mv HelloWorld.c ./new/path/HelloWorld.c
# 强制重命名或移动
# 这个文件已经存在,将要覆盖掉
git mv -f myFile existingFilepull
从远程库中拉取代码。
# 从远端 origin 的 main 分支更新版本库
# git pull <远端> <分支>
git pull origin mainpush
# 把本地的分支更新到远端 origin 的 main 分支上
# git push <远端> <分支>
# git push 相当于 git push origin main
git push origin mainrebase
# 将 newBranch 应用到 main 上面
# git rebase <basebranch> <topicbranch>
git rebase main newBranchreset
# 使暂存区域恢复到上次提交时的状态,不改变现在的工作目录
git reset
# 使暂存区域恢复到上次提交时的状态,覆盖现在的工作目录
git reset --hard
# 将当前分支恢复到某次提交,不改变现在的工作目录
# 在工作目录中所有的改变仍然存在
git reset 31f2bb1
# 将当前分支恢复到某次提交,覆盖现在的工作目录
# 并且删除所有未提交的改变和指定提交之后的所有提交
git reset --hard 31f2bb1rm
# 移除 HelloWorld.c
git rm HelloWorld.c
# 移除子目录中的文件
git rm /pather/to/the/file/HelloWorld.c参考资料
Git 常用命令
https://liuyuhe666.github.io/2025/04/14/Git-常用命令/