【问题标题】:GitLab: Disconnect Files from a RepoGitLab:从回购断开文件
【发布时间】:2021-04-20 16:28:58
【问题描述】:

我将从这里开始说这是我第一次以任何身份使用 git,所以如果这是一个愚蠢的问题,我深表歉意。我做了研究,找不到任何具体的东西。

我正在尝试将文件添加到“项目 A”中的存储库。我试图添加的项目“项目 B”已经是它自己的存储库的一部分,这导致发生“脏子模块”错误并且不允许提交。我以压缩文件的形式获得了“项目 B”,但不知道它是如何连接到它自己的存储库的。我相信 Git 想要我做的是提交在我收到文件之前所做的“项目 B”更改,但我无法做到。

我必须解决这个问题的一个想法是从它的存储库中“断开”项目 B,以便它们在我的本地桌面上成为简单、正常、未连接的文件。我相信这将使我能够毫无问题地将它们放入“项目 A”。这是最好的方法吗?如果是,我该如何实现呢?我也在使用 TortoiseGit。

非常感谢您的宝贵时间!

【问题讨论】:

    标签: git version-control gitlab


    【解决方案1】:

    您希望项目 A 存储库忽略包含项目 B 的文件夹。您需要在项目 A 的根目录中创建一个名为 .gitignore 的文件。这可以包含您不需要 git 管理的任何文件和文件夹模式。

    /projectA
        /folder1
        /folder2
        /projectB
        /folder3
        index.html
        .gitignore
    

    在该文件中,只需添加

    /projectB
    

    并且您的 projectA 的 git 应该完全忽略该文件夹。在根目录运行git status,它不应该“看到”需要添加的文件夹。

    编辑(当天晚些时候):

    我之前没有想到的一件事是,这允许您将项目 B 检出到项目 A 的子文件夹中,并且仍然使用 git 来管理该项目(拉取更新等),而不会影响项目 A。

    【讨论】:

    • 这也很有效,我发现的另一个简单解决方案是从 ProjectB 中删除 .git 文件。非常感谢您抽出宝贵时间给我一个不那么“hacky”的解决方案!
    猜你喜欢
    • 1970-01-01
    • 2017-01-09
    • 2020-07-16
    • 2014-08-04
    • 2021-06-19
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多