eclipse egit 更新未提交文件的方法

问题

  之前一直在项目中使用SVN..感受真的很好用,无论是切分支,合并分支,编辑冲突,仍是更新代码什么的都感受很方便...如今新公司项目里使用git...我本身虽然用过,可是多人合做一直没用过.因此遇到了一个很蛋疼的问题百度一直没有答案,今天偶然发现了一个解决办法.java

  项目里确定有不少配置文件,常常会有一些同窗不当心上传本身的配置,我本地也修改过这个配置而且不打算提交,可是别人提交的新的版本里有这个文件,而后整个版本我都不能pull下来,由于会提示你当前的修改会被覆盖.git

 

解决办法

好比我有这么一个文件缓存

eclipse里修改,可是不提交.服务器

而后我在别的仓库里修改并提交远程app

这个时候pull代码会报错(与资源库同步视图里merge操做).eclipse

由于这个文件没提交.reset我确定是不想作的,由于个人修改就没了.commit我也不想作,由于我我的配置不想上传到服务器的版本中去.工具

因此应该选stash就是暂存当前这个文件.3d

 

这个时候eclipse里的那个java文件会被还原,同时会多一个stash的记录,保存着前面被还原的文件.blog

由于这个时候文件已经被还原了,以及和之前的历史版本一致,因此能够pull了.咱们执行pullip

 

更新完之后..咱们能够再把刚才stash的文件pop出来.

 

在以前那个stash@{0}上面右键 apply stashed changes

会提示冲突.很正常....

也有可能不会有冲突..有冲突的话要本身去解决.没有冲突的话那就没啥问题了.

 

在TestGit上右键mergeTool就能够编辑冲突了..

左边文件是别人那里提交的,右边是我stash的.

编辑好之后右键TestGit选择mark as merged就OK了

 

这个时候就成功更新了别人的代码,而且没有提交本身的修改了...

 

 

感想

1.这点我感受仍是SVN好用...能够选择直接不更新这个配置文件,使用本身的本地配置,同时更新版本中的其余文件(也有多是我GIT用的不熟没发现这个功能)

2.合并的时候感受没SVN好用.SVN能够再eclipse里列出服务器版本,个人版本,合并后的版本,我再egit里无法操做,要用外部的工具,好比beyondcompare.可是这样的话代码着色功能就没了.很蛋疼.

3.stash好像蛮好用,能够缓存一堆文件,还能够有N个stash要哪一个就弹出哪一个...这样真的挺好的,我能够stash N个不一样的配置...就是不知道这样是否是正确用法...

相关文章
相关标签/搜索