今天从工作分支切master分支时时发现master也被修改了,master应该和远程保持同步,所以我自己没有修改
为什么分支会被影响呢:其实是因为工作区和暂存区的内容是公共的!!!
按理来说在切分支时应该有stash的警告,但是如果要切换到的分支未进行修改过(就是不存在冲突)
这时切换分支就不会有stash警告,切分支操作会导致工作区和暂存区修改内容被带到当前分支!!!
这时如果对master进行版本回退会导致修改内容丢失(自己智障一样的操作)
现在想想应该先回到我的分支进行commit,在回退master,这问题不就解决了么
总结教训就是:
1:完成一部分就应该在本地库对代码commit备份,提交远程分支时选择最新版本即可,本地log多也不影响
2:切分支之前一定要Git stash!!!!!!!(最好检查一下stash是否为空git stash show)
默认情况下,git stash会缓存下列文件:
添加到暂存区的修改(staged changes)
Git跟踪的但并未添加到暂存区的修改(unstaged changes)
忘记commit导致代码丢失:
git本地分为三个区域:1 工作区 2:暂存区 3:本地库
在工作区的文件分为两种:1:已跟踪 2:未跟踪(新建文件)(都可以使用add将文件添加到暂存区)
这时这些修改都属于任何分支
git 命令使用指南:https://blog.csdn.net/W_J_F_/article/details/97366907