Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git不会忽略文件_Git_Github - Fatal编程技术网

git不会忽略文件

git不会忽略文件,git,github,Git,Github,我无意中跟踪了rubymine创建的.idea/workspace.xml文件,现在我似乎无法从跟踪中删除该文件 由于这个原因,它被多次检入,但我真的希望它停止被跟踪,因为它会导致合并冲突 下面是我一直试图删除该文件的方式 git-rm--cached.idea/workspace.xml $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage)

我无意中跟踪了rubymine创建的
.idea/workspace.xml
文件,现在我似乎无法从跟踪中删除该文件

由于这个原因,它被多次检入,但我真的希望它停止被跟踪,因为它会导致合并冲突

下面是我一直试图删除该文件的方式

  • git-rm--cached.idea/workspace.xml

    $ git status
    On branch master
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)
    
    deleted:    .idea/workspace.xml
    
    $git状态
    论分行行长
    要提交的更改:
    (使用“git重置磁头…”取消分级)
    已删除:.idea/workspace.xml
    
  • git commit-m“从跟踪中删除工作区文件”

  • 将此条目添加到my.gitignore文件
    .idea/*

  • 你所展示的应该很好用。我认为有两种可能的方法可以反复重新引入该文件:

    • 若其他人仍然收到合并错误,并通过添加他们的更改和忽略您的删除来解决这些错误,文件将继续返回

    • 如果您没有在repo中包含
      .gitignore
      ,或者没有将
      .ideas/*
      添加到.gitignore,其他人可能会通过以下方式重新添加文件

      git add -a
      

      您应该将更改提交到.gitignore,以防止发生这种情况


    对我来说,问题是使用GitHub Windows GUI工具造成的

    即使我手动删除了.gitignore中的.idea/文件夹并执行了
    git rm-r--cached.idea
    ,它仍会以“未同步更改”的形式返回

    在删除缓存文件夹并添加到.gitignore后,我可以通过命令行手动提交来解决这个问题。不知道为什么,但它是有效的


    git commit-m“手动提交”

    提交文件后,有两种方法告诉git忽略它:

  • 提交文件的删除,然后将其添加到
    .gitignore

    git-rm——缓存 git提交-m“已删除…”

  • 设置
    假定未更改
    标志

  • -[no-]假设未更改
    指定此标志时,不会更新为路径记录的对象名称。
    相反,此选项设置/取消设置路径的“假定未更改”位

    当“假定未更改”位打开时,用户承诺不更改文件,并允许Git假定工作树文件与索引中记录的内容匹配。如果要更改工作树文件,需要取消设置位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大型项目时,这有时很有用

    如果Git需要在索引中修改此文件,例如在提交中合并时,Git将失败(正常);因此,如果假定未跟踪的文件在上游更改,则需要手动处理这种情况


    您是否尝试过先删除(
    git rm.idea/workspace.xml
    ),然后提交并将其添加到.gitignore中?Hillary,这必须做到。完成这三个步骤后,你会得到什么?是否确实要提交删除?是否也提交了.gitignore文件?我已经提交了.gitignore文件。到目前为止,在我的本地计算机上,似乎完全删除父文件夹(而不仅仅是缓存版本)是可行的。
    git add .