git的工作区和暂存区,管理修改,撤销修改,删除文件

git和其他的版本控制系统如SVN的一个不同之处就是有暂存区的概念
工作区:就是在我们电脑能看到的目录
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是git版本库。
git版本库里面存了很多东西,其中最重要的就是stage(或者交index)的暂存区,还有git为我们自动创建的第一个分支master,以及指向master的一个指针HEAD
我们把文件提交到git版本库里增加的时候,是分两步执行的
第一步:git add 把文件添加进去,实际上就是把文件修改增加到暂存区;
第二步:git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tjqgo4aY-1650620723126)(/Users/lifuwei/Library/Application Support/typora-user-images/image-20220422114444190.png)]

查看工作区和版本库中的版本的区别
git diff HEAD -- readme.txt
管理修改:
我们对代码进行了两次修改?如何操作呢?
第一次修改——>git add ——> 第二次修改 ——> git add ——> git commit
现在是把两次修改都提交了
也可以先提交第一次修改,在提交第二次修改
撤销修改:
git checkout -- readme.txt
这个语句的作用就是把readme.txt文件在工作区的修改全部撤销,这里有两种情况;
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一摸一样的样子;
一种是readme.txt已经添加到暂存区后,又做了修改,现在,撤销就回到添加到暂存区后的状态

想要查看暂存库中的文件内容直接用cat redme.txt

同样我们也可以通过git reset HEAD命令退回版本

这里需要说明的是--很重要,没有了--,就变换成了切换到另一个分支的命令。
删除文件
一种是:我们在工作区直接删除,但是文件并没有提交到暂存区和版本区
第二种是:当文件提交到版本库中
				我们可以在文件呢管理器中直接删除或者使用命令rm test.txt进行删除
				这时候,git知道你删除了文件,因此,工作区和版本库就不一致了,当我们git status时
				会告知我们删除了哪些文件
				
				现在我们有两个选择,
				一个是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit。
				git rm test.txt /也可以手动的删除文件(效果一样)
				git commit -m "remove test.txt"
				执行上面两条语句后文件就从版本库中删除了
				
				另一种情况就是删错了,因为版本库中还有,所以我们需要把误删的文件恢复到最新版本
				git checkout -- test.txt
				git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以一键					还原
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值