git命令笔记

文章目录

0、参考文档

1、常用指令

git checkout系列

  • git checkout [--] file/目录:使用暂存区内容覆盖工作区,在工作区修改了,不想要了,可以用这个操作。
    • 如果某个目录被污染,想一次还原,可以删除那个目录下面的内容,然后:git checkout .
  • git checkout -b 分支:创建并切换到新分支
  • git checkout 分支
    • 如果本地有分支,切换到该分支。
    • 如果本地没有分支,但远程有分支,创建一个关联到远程分支的本地分支。
    • 本地远程都没有,就报错。
  • git checkout commitid
    • 回退到commitid对应的那个版本。会处于分离头指针的状态,通常用来查看某文件的之前版本。

git pull系列

  • git pull origin 远程分支名:拉最新远程分支,并与当前分支合并
  • git pull rebase 对方强推之后,需要用这个才能拉下代码。(有时候好像没用)
  • git pull:将远程仓库代码拉到工作区

git push系列

  • git push -u origin 本地分支名:在创建了本地分支,但是没有对应的远程分支时,创建一个与本地分支对应的远程分支
  • git push origin --delete 分支:删除远程分支
  • git push origin liteOS-dev:liteOS-dev:将liteOS-dev分支推送到远程
    • 如果本地分支很远程分支名一样,可写为:git push origin liteOS-dev

git reset系列

  • git reset --soft,然后合并提交之后,会导致本地分支和远程对不上,此时push不上去,需要push -f强推。(将本地仓库回退,工作区和暂存区修改保留。)
  • git reset/git reset --mixed,(将本地仓库、暂存区回退,工作区修改保留)
  • git reset --hard HEAD :将工作区代码回退到本地仓库的最新版本。
  • git reset --hard HEAD^ :将工作区代码回退到本地仓库的最新版本的上一个版本
  • git reset --hard HEAD~100:将工作区代码回退到本地仓库的最新版本的前100个版本

git branch系列

  • git branch :查看本地分支
  • git branch -r:查看远程分支
  • git branch -a:查看所有分支(本地和远程)
  • git branch name:创建分支
  • git branch --D name:删除本地分支
  • git branch -vv: 查看本地分支与远程分支的连接情况
  • git branch -m oldName newName 本地分支重命名(还没有推送到远程)

git log系列

  • git log:查看commit的历史记录
  • git log 文件:查看文件的历史提交情况
  • git log --oneline:简略查看,只查看历史版本的版本号和对应的commit描述
  • git log --oneline --before={2022-04-02} --after={2022-02-01} --author=xxx --no-merges
    • 查看指定时间范围内的提交记录
  • git log remotes/origin/xxx 查看本地xxx对应的远程xxx的log

git revert 撤销某次提交

  • git revert commit 撤销指定的版本,撤销也会作为一次提交进行保存。
  • git revert HEAD 撤销前一次 commit
  • git revert HEAD^ 撤销前前一次 commit
  • git revert 用法

git diff

  • git diff <文件>:查看文件修改了什么内容
  • git diff 分支1 分支2:查看两分支的差异
    • git diff --name-only 分支1 分支2:只看两分有差异的文件
  • git diff 分支1 分支2 文件名:查看两分支的指定文件的差异

其他

  • git show commitid:查看某个commitid的具体修改内容

    • git show --name-only commitid:只显示修改的文件名
  • git init :把这个目录变成git可以管理的仓库

  • git add:把文件从工作区添加在暂存区

  • git commit -am '说明':将暂存区的东西全部提交到本地仓库,并添加修改说明

  • git status:查看状态

    • git status -uall:展开目录里面的文件
  • git merge 分支名:合并某分支到当前分支

  • git cherry-pick 055996b:

    • 选择某个commit版本提交到当前分支
    • 如果有冲突先解决冲突,然后git cherry-pick --continue 继续完成cherry-pick
  • git clone https://github.com/xxx/study.git:克隆远程仓库到本地

  • git blame 查看谁修改的

  • git blame -L start, end

  • git remote -v 查看仓库url链接

2、查看和修改用户名和邮箱,生成密钥

  • 查看用户名和邮箱
  • 修改用户名和邮箱
  • 生成密钥

other

相关推荐
_君莫笑6 小时前
大厂Git使用规范
git
薛定e的猫咪8 小时前
因果推理研究方向综述笔记
人工智能·笔记·深度学习·算法
AOwhisky9 小时前
虚拟化技术学习笔记
linux·运维·笔记·学习·虚拟化技术
一只机电自动化菜鸟9 小时前
一建机电备考笔记(33) 机电专业技术(起重技术-吊装方案)(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
小陈phd10 小时前
多模态大模型学习笔记(四十)——从“看字”到“懂结构”:版面分析与表格解析技术全解
笔记·学习
xuhaoyu_cpp_java11 小时前
SpringMVC学习(二)
java·经验分享·笔记·学习·spring
噜噜噜阿鲁~12 小时前
python学习笔记 | 9.2、模块-安装第三方模块
笔记·python·学习
无心水13 小时前
【Hermes:安全、权限与生产环境】39、智能体也会犯错?Hermes 纠错、回滚与遗忘机制全指南 —— 让 AI 的错误像 Git 一样可逆可控
人工智能·git·安全·mcp协议·openclaw·hermes·honcho
我胖虎不答应!!13 小时前
Three.js开发思想笔记
javascript·笔记·three.js
程序leo源13 小时前
C语言知识总结
c语言·开发语言·c++·经验分享·笔记·青少年编程·c#