我正在为将Linux源代码树作为子模块的嵌入式项目进行开发。我目前正在非开发机器上工作,所以我永远都不会使用此存储库进行构建。仅供参考。
有一次我初始化了linux子模块(带来了约2.5GB的数据),但是现在我想逆转该过程,而在此存储库中未初始化linux子模块。需要明确的是,就Git而言,我不想签入对子模块的任何更改。我只想要我的磁盘空间。
我该怎么做?我可以删除./linux
和.git/modules/linux
目录以除去所有不需要的数据,但是我怀疑这会使git感到困惑和恼火。
答案 0 :(得分:1)
下面的前三个步骤是如何永久删除子模块;第四步将告诉git恢复模块,但不重新初始化它。
1)从.git / config中删除子模块条目:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { IonicStorageModule } from '@ionic/storage';
import { HttpClientModule } from '@angular/common/http';
import { HttpModule } from '@angular/http';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
IonicStorageModule.forRoot(),
HttpClientModule,
HttpModule,
],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
2)从超级项目的.git / modules目录中删除子模块存储库:
git submodule deinit -f path/to/submodule
3)删除位于path / to / submodule的子模块目录:
rm -rf .git/modules/path/to/submodule
4)告诉git放弃删除子模块;它将使模块返回“未初始化”状态,使其保持不变:
git rm -f path/to/submodule