本文共 783 字,大约阅读时间需要 2 分钟。
在使用Eclipse的Egit插件进行项目开发管理的过程中,发现一些容易让人困惑和出错的地方。
我们以两个分支master和test(test是从master分支新建的)为例:
1、新建文件最终commit到哪个分支,就属于该分支中的内容
举例来说:Egit在展示分支文件时,不仅会将分支中已有的内容展示出来,还会将在另一个分支新建的,但没有commit过(只add to index也不行)的文件也展示出来。
我从master分支切换到了test分支,并且在test分支中新建了一个文件NewFunc.java,新建的文件并不会自动被git管理,此时我切换到master分支,会发现刚才新建的NewFunc.java依然存在,此时我们如果将NewFunc.java commit到master分支,我们再切换到test分支,会发现刚才新建的NewFunc.java不见了,这说明虽然是在test分支下新建的文件,但并不意味着这个文件属于test分支,要看最终commit到哪个分支,该文件才属于哪个分支。
2、两个相关分支中,相对应文件的修改,提交到哪个分支算哪个分支的修改
还是以刚才的master和test为例,如果两个分支中的相同路径下都有一个NewFunc.java,如果在test分支中修改了NewFunc.java的内容,但没有commit.此时切换到master分支,并不会提示进行commit操作,而在切换到master后,会发现刚才修改的内容依然保留了下来,此时如果进行commit,将修改后的NewFunc.java提交到master分支,再切换到test分支,会发现test分支中的NewFunc.java依然是修改前的内容。
总结:这些特性给我们留下了操作的空间,但为了避免类似这些问题引起混乱,应该在每次切换分支前,先提交一下修改的内容。
转载地址:http://ioitb.baihongyu.com/