“这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天”
2 git学习
2.2 时光机穿梭
3、管理修改
- git的优秀不同之处,在于git跟踪并管理的是修改,而非文件!!!
- 第一次修改-->git add-->第二次修改-->git commit
- 结果:只会保存第一次修改的版本;
- 分析:git管理的是修改,git add是将第一次修改放入暂存区,等待commit提交到分支;
git diff HEAD -- read.txt可以查看工作区与版本库里最新版本的区别;
- 第一次修改-->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检查状态,修改只是添加到暂存区,还未提交;
git reset可以回退版本,也可以把暂存区的修改回退到工作区,使用HEAD就表示最新版本;
小结
5、删除文件
当已经将file提交到git,之后
rm file删除文件,工作区与版本库就不一致了,
git status会显示
两个选择:
1)
git rm file从版本库中删除该文件;2)误删,将其恢复到最新版本,
git checkout使用版本库替换工作区,无论是修改还是删除;