Macos 问题SourceTree将本地存储库中的文件列为已删除

Macos 问题SourceTree将本地存储库中的文件列为已删除,macos,git,version-control,atlassian-sourcetree,Macos,Git,Version Control,Atlassian Sourcetree,我们是两个开发者,致力于一个大型项目,涉及来自两个不同站点的30个小型卫星网站。我们在SourceTree方面遇到了一些问题,因为有时在OSX工作站的“工作副本更改”区域会列出许多已删除和需要的文件 A.主要问题: 有时,在提交或推送存储库上的任何更改之前,MAC station上的SourceTree会在工作更改区域显示许多文件已被删除。但是,当我们检查文件是否仍然存在于MAC的项目文件夹中时,它们仍然存在 在我们逐个文件忽略每个文件的更改或我们再次提交确认删除文件之前,我们无法继续拉取或推送

我们是两个开发者,致力于一个大型项目,涉及来自两个不同站点的30个小型卫星网站。我们在SourceTree方面遇到了一些问题,因为有时在OSX工作站的“工作副本更改”区域会列出许多已删除和需要的文件

A.主要问题:

  • 有时,在提交或推送存储库上的任何更改之前,MAC station上的SourceTree会在工作更改区域显示许多文件已被删除。但是,当我们检查文件是否仍然存在于MAC的项目文件夹中时,它们仍然存在

  • 在我们逐个文件忽略每个文件的更改或我们再次提交确认删除文件之前,我们无法继续拉取或推送任何更改

  • 当我们中的一个人将更改推送到存储库时,这种情况似乎不稳定地发生

  • 虽然我们不知道这是否与此相关,但另一个问题是,gitignore文件上请求忽略的文件夹没有被忽略

  • B.配置

  • 运行Windows 7的三星笔记本电脑和带有OSX的MAC电脑

  • 为了管理存储库中的内容(推、拉、提交),我们使用了最新版本的SourceTree(Windows为1.5.2,OSX为1.9)

  • 我们使用相同的软件进行开发(PhpStorm)

  • 我们使用一个主存储库和分支来管理卫星上的所有更改

  • GIT配置文件的配置如下所示:

  • Windows工作站:

    [core]
    
    repositoryformatversion = 0
    
    filemode = false
    
    bare = false
    
    logallrefupdates = true
    
    symlinks = false
    
    ignorecase = true
    
    hideDotFiles = dotGitOnly
    
    [remote "origin"]
    
    url = dlaggit@dev.dreamit.de:lotto-satellites
    
    fetch = +refs/heads/*:refs/remotes/origin/*
    
    [branch "master"]
    
    remote = origin
    
    merge = refs/heads/master
    
    OSX站:

    [core]
    
    repositoryformatversion = 0
    
    filemode = true
    
    bare = false
    
    logallrefupdates = true
    
    ignorecase = true
    
    precomposeunicode = false
    
    [remote "origin"]
    
    url = dlaggit@dev.dreamit.de:lotto-satellites
    
    fetch = +refs/heads/*:refs/remotes/origin/*
    
    [branch "master"]
    
    remote = origin
    
    merge = refs/heads/master
    
    C.到目前为止我们已经尝试了什么

  • 放弃对文件所做的更改。几个星期后,这个问题又出现在不同的文件中

  • 重新安装SourceTree并对OSX计算机上的git配置文件进行以下更改(突出显示):

    [core]
    
    repositoryformatversion = 0
    
    filemode = false
    
    bare = false
    
    logallrefupdates = true
    
    ignorecase = true
    
    precomposeunicode = true
    
    [remote "origin"]
    
    url = dlaggit@dev.dreamit.de:lotto-satellites
    
    fetch = +refs/heads/*:refs/remotes/origin/*
    
    [branch "master"]
    
    remote = origin
    
    merge = refs/heads/master
    
  • 尝试上述解决方案后,“工作副本更改”区域中的某些文件不再显示为已删除,而是显示为已修改(即使我们未对其进行修改),其中一些文件显示为最近添加的,而另一些文件显示为已删除。当我们检查本地文件夹中的文件时,文件仍然存在

    谢谢你能提供的帮助