Git常用命令汇总

发布于:2024-06-21 ⋅ 阅读:(43) ⋅ 点赞:(0)

1.详细内容看学习笔记:# [学习笔记]Git教程
2.这里只整理一些命令和场景
3.其实还有很多命令,不过有一些都可以由下面基础的命令得到。例如:要将内容从HEAD恢复到工作区,只需要将内容从HEAD->暂存区->工作区

本地库相关命令

git init # 初始化Git版本库
git clone # 通过克隆开源代码到本地进行版本管理
----------------------------------------
git add <filename>git add . # 提交文件到暂存区
git commit -m "message" # 文件从暂存区提交到版本库,其中"message"是对应提交的注释
----------------------------------------
git status # 查询工作区状态
git diff <filename> # 查看版本库的内容和当前文件内容的区别
----------------------------------------
git log # 显示最近到最远的提交日志,能定位过去的版本
git log --pretty-oneline # 简化git log的输出结果为一行
git reflog # 查看命令日志,能定位未来的版本
git reset --hard HEAD^ # 回退到上个版本
git reset --hard commit_id # 回到指定"commit_id"的版本,commit_id不需要完整
----------------------------------------
git restore <filename> # 将内容从`暂存区`恢复到`工作区`(结果等价于"工作区文件修改撤销")
git restore --staged <filename> # 将内容从`HEAD`恢复到`暂存区`(结果等价于"暂存区文件修改撤销")
git restore --soucre=<commit_id/HEAD> <filename> # 将`指定来源`的内容恢复到`工作区`
----------------------------------------
git rm --cached <filename> # 从暂存区删除文件
git rm <filename> # 从暂存区和工作区中都删除文件(两个区都有该文件,否则报错)=rm+git add,如果带-f参数可以实现强制删除
----------------------------------------
git clean -n # 预览"未被Git跟踪的文件",它们可被删除
git clean -f # 删除未被Git跟踪的文件
git clean -i # 交互式删除未被Git跟踪的文件
----------------------------------------
git stash # 保存"工作现场"
git stash list # 查看保存的工作现场
git stash apply # 恢复工作现场,但是stash内容不删除,删除需要 git stash drop
git stash apply stash@{0} # 恢复特定stash
git stash pop # 恢复工作现场的同时删除stash内容

远程库相关命令

git remote -v # 查看远程库的信息
git remote rm origin # 解除与远程库origin的关联
git remote add origin git@github.com:名称/仓库.git # 关联远程仓库,并起别名为origin
git push -u origin main # -u表示main分支和origin/main分支关联起来,方便后续推送和拉取简化命令
git push origin main # 将本地main分支内容推到远程库origin
git pull --set-upstream-to=origin/dev dev # 将本地dev分支与远程库的dev分支关联
git pull # 拉取远程库对应分支的内容
----------------------------------------
git clone git@github.com:名称/仓库.git # 克隆远程库

分支相关命令

git branch # 查看本地分支
git switch -c <分支a> # 创建并切换分支=git branch <分支a> + git switch <分支a>
git branch -d <分支a> # 删除分支a
git merge <分支a> # 将<分支a>合并到当前分支上
git merge --no-ff -m "xxx" <分支a> # --no-ff表示"禁用快速合并"
git log --graph --pretty=oneline --abbrev-commit # 查看分支合并情况

标签相关指令

git tag v1.0 commit_id # 为对应commit(省略则表示当前提交)打上v1.0标签,可以补充-m ""来指定说明文字
git tag # 查看已打的标签
git show v1.0 # 查看v1.0标签的详细信息