Atlassian Sourcetree + GIT + Mac + Mountain Lion + Eclipse + Android项目=失败模式

问题描述 投票:0回答:1

使用标题中的工具组合,当我签出分支时,SourceTree / GIT将:

  1. 绝对不要删除先前签出的分支中的文件夹,所以如果我有BRANCH-ALPHA与FOLDER1和FOLDER2,然后我检查BRANCH-BETA只有FOLDER2和FOLDER3而没有FOLDER1,FINDER中的结果结构将显示FOLDER1还在那里。可以一遍又一遍地重现这一点。
  2. 通常甚至不会覆盖先前签出的分支中的文件,因此当我签出BRANCH-BETA时,我仍然在Eclipse中看到BRANCH-ALPHA。

我在结帐之前关闭Eclipse,然后打开Eclipse,CLEAN和BUILD所有内容。这对GIT来说确实是一个问题。

唯一的“解决方案”是删除所有文件夹和所有元数据,然后检查分支。这通常导致几个小时试图“说服”Eclipse打开项目,创建新工作区,新元数据等,然后修复很多东西,如路径等。

关于如何进一步研究原因并找到解决方案的任何想法都非常受欢迎。

eclipse git macos osx-mountain-lion atlassian-sourcetree
1个回答
0
投票

签出新提交时Git只删除空文件夹。您可能会看到显然是空目录,因为存储了隐藏文件。如果您尝试通过在Finder中打开它们来监视行为,则实际上是因为Finder会创建隐藏文件来跟踪文件夹的显示方式。

这些文件夹在那里真的很麻烦吗?您可以在每次结账后添加运行post-checkout hookgit clean -dxf;这将删除git不知道的所有文件。请注意,它也会删除已编译的类,因此需要新的构建。

另一种可能性是某些东西是锁定文件或目录,因此当git仍被其他程序打开/锁定时,它们无法删除它们。这也可以解释为什么有些文件没有更新到正确的版本。当你切换分支时,git会抱怨吗?它应该确实锁定文件。

© www.soinside.com 2019 - 2024. All rights reserved.