【问题标题】:How to detach a folder from being tracked without deleting any files from it?如何在不删除任何文件的情况下从跟踪中分离文件夹?
【发布时间】:2021-08-05 07:56:21
【问题描述】:

我完成了 MyProject1 并在添加每个新功能后以良好的方式将其上传到 git 中。现在我正在启动 MyProject2 并尝试添加远程存储库的 URL。但后来我发现我错误地将 URL 添加到 Documents 而不是 MyProject1 文件夹中,因为 MyProject2 文件夹也在 MyProject1 中被跟踪。而且我无法将 URL 添加到 MyProject2 而是面临合并问题。

有什么方法可以在不从 Documents 中删除我的任何文件的情况下从我的 Document 文件夹中分离轨道。 结构是这样的(我用的是Linux):

文件 (在 Documents 里面有:)

  1. 我的项目1
  2. 我的项目2
  3. 以及其他也在被跟踪的文件夹。

【问题讨论】:

  • git rm -r --cached 然后将它们添加到.gitignore
  • 谢谢,但是我应该在 Documents 目录或 MyProject1 目录中应用此命令吗??

标签: linux git github command-line gitlab


【解决方案1】:

最佳方式:

在@Vinayagam R 之后创建一个.gitignore 文件

本地忽略文件

这些方法不会影响在同一远程存储库上工作的其他贡献者:

使用更新索引:

如果您想在某个特定点停止跟踪文件。

git update-index --assume-unchanged yourDirectoryName

--assume-unchanged 是标志,表示文件不应在本地更改。换句话说,它用于忽略您不需要在本地更改(或不应该更改)的文件。

恢复它使用update-index --no-assume-unchanged yourDirectoryName

使用 .exclude

在你的工作目录中编辑.git/info/exclude

【讨论】:

    【解决方案2】:

    我们可以通过以下步骤手动完成

    1. 在基目录中创建一个文件 .gitignore。
    2. 如果 MyProject1 和 MyProject2 已经是 git 跟踪的一部分,请运行命令
      git rm -r --cached MyProject1/
      git rm -r --cached MyProject2/
    3. 在文本编辑器中打开文件并在文件中添加以下行 我的项目1/ 我的项目2/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多