Learn git notes from xiaobai
the second day
工作区和暂存区:
1.工作区:你所创建的文件夹。比如:learngit
2.版本库:工作区有个隐藏目录.git就是版本库,可以通过ls -a
查看隐藏目录。
版本库中最重要的就是暂存区,还有git自动创建的第一个分支master,以及指向master的一个指针head。
git add
实际上就是将文件添加到暂存区,git commit
实际上就是将暂存区内容提交到当前分支。
命令 | 功能 |
---|---|
touch 文件名 | 新建一个文件 |
rm 文件名 | 删除一个文件 |
git status | 查看工作区状态,例如修改新增等(commit前查看) |
git diff (文件名) | 比较工作区和暂存区(某个文件) |
git diff HEAD(文件名) | 比较工作区和最新版本库(某个文件) |
git diff --cached(文件名) | 比较暂存区和最新版本库(某个文件) |
接下来这一part是我个人觉得有点绕的地方,需要多实际操作理解一下。
撤销修改:
命令 | 功能 | 说明 |
---|---|---|
git checkout -- readme.txt | 使工作区撤销readme.txt修改,回到暂存区的版本 | 若文件没有提交到暂存区则回退到版本库,且 -- 不能省略 |
git reset head 文件名 | 撤销暂存区修改,重新放回工作区 | 个人理解就是文件撤销修改,然后清除暂存区,工作区不会改变 |
git rm 文件名 | 删除文件 | 删除后再commit就会在版本库中删除,使用版本回退和checkout命令可以恢复到工作区 |
注:git rm
是删除的工作区和暂存区的文件,而rm删除的是工作区的,所以前者需要reset才能找回文件,后者可以直接checkout。
总结一下:只要你提交到版本库,就一定可以找回来,不过可能是你没有修改过的。工作区,暂存区,版本库都可以通过命令达到你想要的版本。
学习到这个地方感觉有点好玩,突然思考如何才能让曾经提交到版本库的文件永远的不被人看到。
今天就到这里了,每天学一些git,然后尝试markdown中一个功能,今天分享一下我女朋友。