关于SO的第一篇帖子,如果我错过了什么,请原谅我。
我是git的新手并且很喜欢它。除了这个之外,事情一直很顺利。
我正在使用的开发人员将一个新分支推送到我们的github,称之为'devbranch'
我想把'devbranch'下载到我的Eclipse项目(目前只有master)。按照博客和Pro Git上的一些说明,我使用了Eclipse的“拉”(可以执行'git pull'),然后在终端执行
git checkout -b devbranch origin/devbranch
根据{{3}}
这是(我认为)我在我们的服务器上做了什么似乎工作。在Eclipse中,这将我的工作副本设置为'devbranch',所有文件都应该存在。
奇怪的是,在做的时候
git status
或者当要在Eclipse中提交项目(显示需要提交哪些文件)时,有大量文件似乎处于修改状态?任何人都可以帮助解释这个不幸事件/我可能做错了什么或我如何解决它?我尝试做另一个git pull
,但它只是说我的主人和devbranch都是最新的..
先谢谢大家。非常感谢您的提示。
答案 0 :(得分:2)
这可能是由于文件权限,或者是由于行结尾(或完全由于其他原因,但这两者在过去对我造成了类似的问题)。 Git有一个设置,它将告诉它忽略你的机器和存储库之间的差异,但你需要设置它。
Github explains line endings very well和this question将帮助您获得权限。
如果你正在学习git,我的建议是完全避免任何基于GUI的工具,并首先学习命令行的东西。我发现我的IDE只是混淆了这个问题。
答案 1 :(得分:0)
Eclipse和git在我耳边响起警告响。这可能是一个黑暗中的镜头,但我认为出错的是Eclipse已经默默地覆盖了磁盘上的文件。我认为发生的基本上是你检查devbranch(它检查磁盘上文件的新版本),但Eclipse不会识别磁盘上的文件已经更改,因此它不会在IDE中重新加载它们。当您在Eclipse中愉快地编译时,它将保存缓存的缓冲区并覆盖磁盘上的文件。
解决方案是进入Eclipse中的设置并打开自动重新加载,我相信默认情况下这是关闭的。
检查
git diff
找出这些文件中发生了哪些变化。
在根目录中更改设置类型后
git checkout .
撤消已修改的文件并返回到Eclipse进行这些更改之前origin / devbranch所处的状态。但是,如果您已经做了任何改动,这也将撤消您自己的更改。