> 개발 도구 > 자식 > git에서 서브모듈을 제거하는 방법

git에서 서브모듈을 제거하는 방법

WBOY
풀어 주다: 2023-05-20 15:23:38
원래의
4226명이 탐색했습니다.

Git은 소프트웨어 개발에 널리 사용되는 버전 관리 도구입니다. 그중 Git 하위 모듈은 하나의 Git 프로젝트를 다른 Git 프로젝트의 하위 디렉터리로 사용하여 모듈 개발을 수행할 수 있도록 하는 특수 메커니즘입니다. 하지만 때로는 기존 Git 하위 모듈을 제거해야 하는 경우도 있습니다. 이 글에서는 Git에서 서브모듈을 제거하는 방법을 소개합니다.

1. Git 하위 모듈 소개

Git 하위 모듈은 Git 도구에서 제공하는 메커니즘으로, 자신의 코드 베이스나 다른 사람의 코드 베이스에서 다른 Git 프로젝트를 Git 프로젝트에 삽입할 수 있습니다. Git 하위 모듈을 사용하면 코드 베이스를 여러 하위 코드 베이스로 나눌 수 있습니다. 이를 통해 코드를 보다 효율적으로 관리하고 필요할 때 신속하게 액세스하여 사용할 수 있습니다.

2. Git 하위 모듈 사용 방법

Git 하위 모듈을 사용할 때 하위 모듈을 추가하려면 다음 명령을 사용해야 합니다.

git submodule add 小模块的URL
로그인 후 복사

이 명령을 실행하면 Git은 현재 프로젝트 디렉터리 아래에 하위 디렉터리를 추가하고, 작은 모듈을 여기에 복제하십시오. 하위 모듈의 URL이 포함된 .gitmodules 파일도 이 하위 디렉터리에 추가됩니다. .gitmodules文件,其中包含了子模块的URL。

当你进行代码提交时,子模块的内容不会被直接提交,而是会提交一个指向特定的提交版本的指针。

为了更新一个子模块,需要执行以下命令:

git submodule update --init --recursive
로그인 후 복사

这将拉取子模块的最新代码并更新指针。

三、Git中去掉一个子模块

有时候,你不再需要一个子模块,或者你需要将它替换为一个不同的子模块。在这种情况下,你需要从你的代码库中移除一个子模块。下面是一些移除子模块的方法。

1. 移除.gitmodules文件

.gitmodules文件是子模块添加到父Git库时自动创建的。它位于父Git仓库中,包含了子模块的详细信息,如子模块的名称、路径、URL、引用等。

要移除一个子模块,你需要在.gitmodules文件中删除对应子模块的所有记录。同时,你还需要编辑.git/config文件并删除子模块路径的相关配置。如果你删除.git/config中的子模块相关条目,子模块将被删除。

示例:

假设我的父Git库中包含了一个子模块,路径为submodule。要去掉这个子模块,需要执行以下命令:

git rm --cached submodule
rm .gitmodules
로그인 후 복사

这会从.gitmodules文件中删除子模块的相关记录,并从Git索引中删除子模块内容。但实际上对应的子模块目录仍然存在,此时需要手动删除该目录。

2. 删除子模块所在目录

当你从.gitmodules文件中删除一个子模块的信息后,你需要手动删除子模块目录。通常,子模块目录存储在Git库中,需要执行以下命令来删除目录:

rm -rf submodule
로그인 후 복사

3. 使用submodule命令

如果你不想手动删除子模块信息和目录,可能会考虑使用Git命令来完成这个任务。在Git库中,子模块被视为子树,你可以使用git subtree

코드를 커밋할 때 하위 모듈의 내용은 직접 커밋되지 않지만 특정 커밋된 버전에 대한 포인터가 제출됩니다.

하위 모듈을 업데이트하려면 다음 명령을 실행해야 합니다:

git submodule add submodule-url
로그인 후 복사

이렇게 하면 하위 모듈의 최신 코드를 가져오고 포인터가 업데이트됩니다.

3. Git에서 하위 모듈 제거

때때로 하위 모듈이 더 이상 필요하지 않거나 다른 하위 모듈로 교체해야 하는 경우도 있습니다. 이 경우 코드 베이스에서 하위 모듈을 제거해야 합니다. 하위 모듈을 제거하는 몇 가지 방법은 다음과 같습니다.

1. .gitmodules 파일 제거🎜🎜.gitmodules 파일은 하위 모듈이 상위 Git 저장소에 추가되면 자동으로 생성됩니다. 이는 상위 Git 저장소에 있으며 하위 모듈의 이름, 경로, URL, 참조 등과 같은 하위 모듈에 대한 자세한 정보를 포함합니다. 🎜🎜하위 모듈을 제거하려면 .gitmodules 파일에서 해당 하위 모듈의 모든 기록을 삭제해야 합니다. 동시에 .git/config 파일을 편집하고 하위 모듈 경로의 관련 구성도 삭제해야 합니다. .git/config에서 서브모듈 관련 항목을 삭제하면 해당 서브모듈도 삭제됩니다. 🎜🎜예: 🎜🎜부모 Git 저장소에 경로 하위 모듈이 있는 하위 모듈이 포함되어 있다고 가정합니다. 이 하위 모듈을 제거하려면 다음 명령을 실행해야 합니다. 🎜
git submodule deinit submodule-path
git rm submodule-path
로그인 후 복사
🎜 이렇게 하면 .gitmodules 파일에서 하위 모듈 관련 레코드가 삭제되고 Git 인덱스에서 하위 모듈 콘텐츠가 삭제됩니다. 그러나 실제로 해당 하위 모듈 디렉터리가 여전히 존재하므로 해당 디렉터리를 수동으로 삭제해야 합니다. 🎜🎜2. 서브모듈이 위치한 디렉터리 삭제🎜🎜.gitmodules 파일에서 서브모듈 정보를 삭제하는 경우 해당 서브모듈 디렉터리를 수동으로 삭제해야 합니다. 일반적으로 하위 모듈 디렉터리는 Git 저장소에 저장되며 디렉터리를 삭제하려면 다음 명령을 실행해야 합니다. 🎜rrreee🎜3. 원하지 않는 경우 하위 모듈 명령을 사용하세요. 🎜🎜 하위 모듈 정보와 디렉터리를 수동으로 삭제하려면 Git 명령을 사용하여 이 작업을 수행하는 것이 좋습니다. Git 저장소에서 하위 모듈은 하위 트리로 간주되며 git subtree 명령을 사용하여 제거할 수 있습니다. 🎜🎜먼저 다음 명령을 사용하여 Git 저장소에 하위 모듈을 추가합니다. 🎜rrreee🎜다음으로 다음 명령을 사용하여 Git 저장소에서 하위 모듈을 제거합니다. 🎜rrreee🎜이 명령은 하위 모듈 디렉터리를 삭제하고 상위 Git에서 제거합니다. 저장소 창고에서 관련 정보를 삭제합니다. 🎜🎜4. 요약🎜🎜Git 하위 모듈을 제거하는 것은 복잡한 문제가 아닙니다. 위의 방법 중 하나를 사용하여 제거할 수 있습니다. 그러나 하위 모듈을 제거하기 전에 제거의 영향을 이해하고 작업을 수행하기 전에 코드를 백업해야 합니다. 🎜

위 내용은 git에서 서브모듈을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿