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

本文详细介绍了在多人协作的Git项目中,如何处理因个人配置文件上传而导致的pull代码冲突问题。通过使用stash功能,可以暂时保存当前文件的修改状态,避免在更新代码时被覆盖,之后再将stash的文件弹出,解决可能的冲突,实现更新他人代码而不提交个人配置的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

  以前一直在项目中使用SVN..感觉真的很好用,不管是切分支,合并分支,编辑冲突,还是更新代码什么的都感觉很方便...现在新公司项目里使用git...我自己虽然用过,但是多人合作一直没用过.所以遇到了一个很蛋疼的问题百度一直没有答案,今天偶然发现了一个解决办法.

  项目里肯定有很多配置文件,经常会有一些同学不小心上传自己的配置,我本地也修改过这个配置并且不打算提交,但是别人提交的新的版本里有这个文件,然后整个版本我都不能pull下来,因为会提示你当前的修改会被覆盖.

 

解决办法

比如我有这么一个文件

eclipse里修改,但是不提交.

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

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

因为这个文件没提交.reset我肯定是不想做的,因为我的修改就没了.commit我也不想做,因为我个人配置不想上传到服务器的版本中去.

所以应该选stash就是暂存当前这个文件.

 

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

因为这个时候文件已经被还原了,以及和以前的历史版本一致,所以可以pull了.我们执行pull

 

更新完以后..我们可以再把刚才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个不同的配置...就是不知道这样是不是正确用法...

 

转载于:https://www.cnblogs.com/abcwt112/p/6803446.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值