Исходная проблема:

Я заинтересован в создании и внесении вклада в общедоступный репозиторий. Проблема в том, что я хочу обновлять и получать обновления только для одного подкаталога в общедоступном репозитории.

Первая попытка:

  1. Форк общедоступного репозитория
  2. Клонируйте только что разветвленный репозиторий
  3. Обновите файлы .gitignore для ненужных папок и файлов.
  4. Отслеживайте и удаляйте ненужные каталоги и файлы с помощью git " git rm -r --cache. "

Проблема: когда я хочу получить обновления из исходного общедоступного репозитория, папки и файлы, которые я удалил из моего локального репозитория, по-прежнему отслеживаются в общедоступном репозитории, и поэтому мне приходится вручную отсеивать все нежелательный контент, убивающий мой процесс.

Я думал сделать (описано здесь):

  1. Клонировать публичный репозиторий
  2. Создать еще один публичный репозиторий
  3. Используйте git subtree split , чтобы переместить папку во вновь созданный общедоступный репозиторий.

Проблема: вновь созданный общедоступный репозиторий больше не является «вилкой» исходного репозитория и теряет все преимущества, такие как видимость исходного репозитория и создание запросов на вытягивание.

2
Marc Pilgaard 23 Июн 2017 в 14:05
1
Если все еще интересно, я думаю, вам поможет следующий пост: stackoverflow.com/questions/24577084/…
 – 
khituras
27 Окт 2017 в 12:38

1 ответ

Лучший ответ

На уровне git вы должны работать со всем репозиторием, вы не можете просто отбросить все, над чем не хотите работать.

Вам просто нужно выполнить свою работу, не связанную с git, в нужной папке, а затем опубликовать свою модификацию на уровне репозитория.

-1
zigarn 23 Июн 2017 в 14:57
Это прискорбно. Я собираюсь оставить этот вопрос открытым еще на несколько дней. Если подходящего ответа больше не будет, я отмечу его как правильный.
 – 
Marc Pilgaard
25 Июн 2017 в 19:18