Day4-go语言基础-git学习2 | 青训营笔记

92 阅读2分钟

“这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天”

2 git学习

2.2 时光机穿梭

3、管理修改

  • git的优秀不同之处,在于git跟踪并管理的是修改,而非文件!!!
  • 第一次修改-->git add-->第二次修改-->git commit
  • 结果:只会保存第一次修改的版本;
  • 分析:git管理的是修改,git add是将第一次修改放入暂存区,等待commit提交到分支;
  • git diff HEAD -- read.txt可以查看工作区与版本库里最新版本的区别;

image.png

  • 第一次修改-->git add-->第二次修改-->git add-->git commit;

每次修改如果不git add到暂存区,就不会加入到commit中;

4、撤销修改

  • 情况一:修改文件没有git add
撤销工作区修改
  • git checkout -- file可以丢弃工作区的修改;

  • 将file文件在工作区(文件夹)中的修改全部撤销,有以下两种情况

  • 1)file自修改后还没有git add到暂存区,此时,撤销修改回到和版本库一模一样的状态;

  • 2)file已经添加到暂存区,又做了修改,撤销回到添加到暂存区后的状态;

  • 总之,让这个文件回到最近一次git commit或git add的状态;

  • git checkout 的--很重要,没有--会变成“切换到另一个分支的命令”;
  • 情况二:修改文件,且git add
撤销暂存区修改
  • git status检查状态,修改只是添加到暂存区,还未提交;

image.png

  • git reset可以回退版本,也可以把暂存区的修改回退到工作区,使用HEAD就表示最新版本;

image.png

小结

image.png

5、删除文件

  • 当已经将file提交到git,之后rm file删除文件,

  • 工作区与版本库就不一致了,git status会显示

image.png

  • 两个选择:

  • 1)git rm file从版本库中删除该文件;

  • 2)误删,将其恢复到最新版本,git checkout使用版本库替换工作区,无论是修改还是删除;

参考文章来源:Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)