问题

  以前一直在项目中使用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个不同的配置...就是不知道这样是不是正确用法...

eclipse egit 更新未提交文件的方法的更多相关文章

  1. Eclipse中使用GIT提交文件至本地

    GIT提交文件至本地: 1.  右击项目——Team——Commit…: 2.在弹出的Commit Changes框中——选择要提交的文件——填写提交说明——点击Commit,即可提交至本地.

  2. Git本地有未提交文件,直接拉取远端最新版本

    git pull = git fetch + git merge 1.修改不同的文件: 用户D和用户L在本地提交中修改了不同的文件,如果用户D将改动推送到服务器后,用户L再推送就会遇到非快进式推送错误 ...

  3. TortoiseSVN,排除不想提交文件的方法(转)

    转自:tortoisesvnsubversionfilebuilddialoglist 下面是英文帮助: 利用TortoiseSVN的修改列表 功能可以实现,在新版本中TortoiseSVN特地预置了 ...

  4. IDEA中Git的更新、提交、还原方法

    第一步:在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别 ...

  5. 使用 eclipse+egit 将项目提交至 github ,本地的git仓库:eclipse工作项目目录

      新建github仓库   写一个github上仓库的名字,系统会自动检测重复性,无重复则可以提交                           大于号代表有需要提交的东西           ...

  6. git按需过滤提交文件的一个细节

    问题场景 用git管理代码时,作为git小白的我总会遇到一些无法理解的问题,在请教了一些高手后终于解开了疑惑,参考以下场景: 1.比如我们已在电脑1上完成用vs编辑项目.添加.提交到服务器的完整流程, ...

  7. 在windows+eclipse+git遇到的未修改文件被标记为已修改的问题

    最近遇到2个具体的问题: 1.我们有个工程里面有几个外部jar包,这几个jar包经常会更新,更新的时候如果是在eclipse中执行的,由于windows文件机制,所以会报错无法覆盖这几个jar包.虽然 ...

  8. 浅谈Eclipse的更新、升级和MyEclipse插件的安装方法

    用的是如下图所示的eclipse标准版演示: 先谈下eclipse下安装MyEclipse插件的过程: 第一种方法:通过MyEclipse的存档进行离线更新 1,到MyEclipse官网进入下载页面, ...

  9. eclipse中使用svn提交,更新代码。

    在新公司工作,版本管理工具变成了svn,之前一直用git作为版本管理,用的编辑IDE是IntelliJIDEA,在这个编辑器下工作,还是很方便的,但是现在使用eclipse和svn.有点不习惯,但还是 ...

随机推荐

  1. LOJ2362. 「NOIP2016」蚯蚓【单调队列】

    LINK 思路 良心来说这题还挺思维的 我没看题解也不知道要这样维护 把每次斩断的点分别放进两个队列里面 因为要维护增长,所以可以让新进队的节点来一个负增长? 是不是就好了? 然后很容易发现因为在原始 ...

  2. CaptureMouse/CaptureStylus 可能会失败

    在 WPF 中,如果我们要做拖动效果,通常会调用一下 CaptureMouse/CaptureStylus 以便当鼠标或手指离开控件的时候依然能够响应 Move 和 Up 事件.不知有没有注意到这两个 ...

  3. POJ3045 Cow Acrobats

    题意 Farmer John's N (1 <= N <= 50,000) cows (numbered 1..N) are planning to run away and join t ...

  4. LG3960 列队

    题意 传送门 分析 参照博客 树状数组+离线处理即可. 利用树状数组下标本质即可\(O(\log n)\)求第k大. 代码 #include<iostream> #include<c ...

  5. 性能指标术语&理发店模型

    2015-11-26 09:13:53 响应时间 响应时间=呈现时间+系统响应时间 呈现时间取决于数据在被客户端收后到呈现出页面所消耗的时间: 系统响应时间指应用系统从请求发出开始到客户端接收到数据所 ...

  6. InnoSetup 打包Winform程序

    在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...

  7. cocos2dx 3.0 编译工程

    下载完2dx,运行setup.py,参考设置ANDROID_SDK,NDK_ROOT,ANT_ROOT变量 创建工程 cocos new testGame -p com.game.test -l cp ...

  8. NumberUtils、ArrayUtils和RandomUtils工具类用法

    一.NumberUtils工具类 /*1.NumberUtils.isNumber():判断字符串是否是数字*/ NumberUtils.isNumber("5.96");//结果 ...

  9. DS05--查找

    一.学习总结 1.查找的思维导图 2.查找学习体会 2.1 关联容器和顺序容器 c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector.list.deque等.其中vector表示 ...

  10. 导航条且手机版.html——仿照官网例子

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...