Хотя @VonC указал на то, что невозможно иметь две разные вилки вилок, я хочу добавить к этому ответу две вещи:
Во-первых, это кажется неудачным дизайнерским решением GitHub, и нет никаких технических причин не разрешать это. Каждое репо должно иметь возможность указывать на любой восходящий поток, чтобы включить механизм PR для работы. Для платформы, которая предназначена для совместной разработки, это довольно ошеломляющее ограничение.
Во-вторых, я хочу предоставить вам возможность по-прежнему делать это, но с дополнительной работой с вашей стороны. Допустим, есть репозиторий R и два их форка R1 и R2 некоторыми пользователями. Вы хотите иметь возможность работать с R, R1 и R2 и отправлять им свои запросы на извлечение. Вот как вы можете это сделать:
- Клонируйте R локально, а затем создайте из него новый репозиторий github. Это будет означать, что ваш репозиторий не будет отображаться как форк, и вы не сможете отправлять PR из него в R.
- Добавьте пульты для каждой вилки, используя
git remote add r1_fork https://github.com/<user1>/R1.git
.
- Для каждого форка создайте свою ветку, используя
git checkout -b r1_fork
.
- В каждой ветке извлеките изменения из этой вилки:
git fetch r1_fork
.
- После выборки сделайте полный сброс в этой ветке для этого пульта:
git reset --hard r1_fork/master
.
Теперь вы можете работать в ветке для каждого отдельного пульта и вносить изменения. Однако вы пока не можете отправлять PR. Для отправки PR вам нужно разветвить это репо, затем объединить изменения из вашей ветки в форк, отправить PR и удалить форк. Очевидно, это очень неидеально, но это то, что мы получили, пока GitHub не исправит свои вещи.
person
Shital Shah
schedule
14.11.2019