将新文件添加到多个分支上的.gitignore

将新文件添加到多个分支上的.gitignore,git,Git,我从主分支创建了本地分支。在LocalBranch工作时,我决定将目录content/images/中的所有文件添加到.gitignore。因此,我用目录路径更新了.gitignore,并给出了git rm-cached-r content/images命令。然后我承诺回购 现在,我想将本地合并到主机中,但当我尝试签出主机时,我收到消息: 签出将覆盖以下未跟踪的工作树文件: 它给出了content/images/目录中所有文件的列表 我有点理解Git为什么会有问题,但我不知道该怎么办。如何将这些

我从主分支创建了本地分支。在LocalBranch工作时,我决定将目录content/images/中的所有文件添加到.gitignore。因此,我用目录路径更新了.gitignore,并给出了git rm-cached-r content/images命令。然后我承诺回购

现在,我想将本地合并到主机中,但当我尝试签出主机时,我收到消息:

签出将覆盖以下未跟踪的工作树文件:

它给出了content/images/目录中所有文件的列表

我有点理解Git为什么会有问题,但我不知道该怎么办。如何将这些文件添加到.gitignore,并跨我的分支同步这些首选项?

这解决了我的问题


我只需要使用强制命令git checkout-f master强制签出master,然后在该分支上运行git rm-cached-r content/images。

master是否跟踪了content/images中的文件?@Carl Norum是的,content/images/中的文件是在我创建本地分支之前跟踪的,所以他们开始在两个分支中都被跟踪。然后我不确定你能做你想做的事情-git只是试图保护你不丢失信息。如果你在master上注册这些文件,你会没事的。您可能也想更新该分支上的.git。传统上,忽略跟踪的文件是一种“糟糕的形式”。这也是我的想法,但它不允许我签出一个分支,而另一个分支中的文件是未跟踪的。所以,如果我在master上注册rm,它将不允许我在本地结账,这样我也可以在那里注册rm。哦,我明白了。只需从文件系统中删除它们。由于它们没有被跟踪,您当地的分支机构不会在意,这将让master编写这些文件。