git命令笔记

时间:2024-04-16 16:17:34

文章目录

  • 0、参考文档
  • 1、常用指令
      • git checkout系列
      • git pull系列
      • git push系列
      • git reset系列
      • git branch系列
      • git log系列
      • git revert 撤销某次提交
      • git diff
      • 其他
  • 2、查看和修改用户名和邮箱,生成密钥
  • other

0、参考文档

  • Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!

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 本地分支重命名(还没有推送到远程)
    • https://www.jianshu.com/p/cc740394faf5

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、查看和修改用户名和邮箱,生成密钥

  • 查看用户名和邮箱
    • git config user.name
    • git config user.email
  • 修改用户名和邮箱
    • git config --global user.name “xxx”
    • git config --global user.email “xxx@xxx.com”
  • 生成密钥
    • ssh-keygen -t rsa -C “xxx@xxx.com”

other

  • Github域名加上1s,在线VS Code阅读源码神器诞生
  • https://github1s.com/xxx