git 常见问题记录

81 阅读2分钟
stash 临时存储

一般来说你可能在某些场景下会用到它,我们有的时候本地改了代码,但是突然有个人过来问你另一个分支的问题,同时这个时候你在实现某个功能,实现一半,又不想提交到 Git 仓库中,那么你就可以考虑使用 git stash save "临时存一下",这个时候它就会帮你存到这个储存区,你去其他分支做完事情回来,再 git stash pop就好了。

  • git stash save 'xxx': 储存变更
  • git stash list: 查看储存区所有提交列表
  • git stash pop: 弹出并应用最近的一次储存区的代码提交
  • git stash drop stash@{n}: 删除某次储存记录
  • git stash clear: 清楚所有 stash 信息

它的数据将被存在你仓库 .git 文件下的 refs/stash 里。

分支合并冲突
  1. test.txt 文件中有冲突 image.png 冲突(内容):在测试中合并冲突。txtAutomatic合并失败;修复冲突,然后提交结果。

  2. 打开冲突文件,编辑突出; image.png

  3. 注意:编辑完成查看本地库状态 git status

  4. 需要提交暂存区git add .

  5. 提交本地库git commit -m '合并dev到master'

将主分支master合并到其他分支

如下图情况 1654783020884.jpg

1.按键盘上的“i”键可进入插入模式
2.这时可以修改最上方的黄色部分,改成你想写的合并原因
3.按键盘上的“Esc”键退出插入模式
4.最后在最下面输入“ :wq ”后按回车键即可

撤销git add 提交到暂存区的某个文件

- git rm --cached test.txt 删除暂存区的某个文件,但是工作区还存在,需要再删除工作区的文件;

git版本回退
  • 查看详细版本记录 git log
  • 查看精简版本记录 git reflog

image.png -git reset HEAD c9f449f 需要回退的版本

git revert 推送push后版本回滚
// 查看分支提交记录
git log
// 回滚到指定位置
git revert ce479b597de6025da4a67ddd4a94d1b8034d8c67
// 回滚到指定位置(如果是合并提交需要 -m 1表示保存本地修改 2 表示保存master修改)
git revert ce479b597de6025da4a67ddd4a94d1b8034d8c67 -m 1