git各分支共享工作区和stage

各分支共享工作区和暂存区

(基于自己的试验以及网上评论区得出的结论,如有错误还请指正)

初始状态:现master分支下,有readme文件,其内容为空,有rmf文件,且都已commit

试验步骤如下:

  1. 新建试验分支test并且切换过去
  2. 在test分支中作如下改动
    • 在readme中添加字符串"test this" 并且保存
    • 删除rmf文件
    • 新建newf文件
  3. 不保存直接checkout master发现步骤2中的改动全都生效
  4. checkout test操作,回到test分支,发现所作改变依然存在并为丢失,执行git stash
  5. checkout master回到master分支,发现master分支中的内容情况如下:
    • readme内容的改变恢复了,即readme仍然使空文件,内容更改失效
    • 删除的rmf文件回来了,删除失效
    • 新建的newf文件仍然存在,新建文件有效
  6. 回到test分支,其情况内容和步骤5中相同,使用git stash pop命令,即回到步骤2中的改动之后的情况。
  7. 再test分支中进行add和rm操作,即将改动提交到暂存区stage
  8. 切换到master分支,发现改动全都生效,即文件情况和步骤2中改动相同。
  9. 回到dev分支,将改commit
  10. 回到master,文件情况又回到了初始状态。

结论:各分支共享暂存区和工作区,在commit改动之前,每个分支看到的文件情况相同,如果执行stash指令,在其他分支中指保留新建文件操作。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值