У меня есть a git-cpan-init
из repo, который уже привел к другому корневому узлу от другого установленный мерзавец repo, я нашел на GitHub C:A:S:DBI. Я разработал вполне немного на своем repo, и я хотел бы объединить или воспроизвести мои редактирования на ветвлении более авторитетного репозитория. Кто-либо знает, как сделать это? Я думаю, что безопасно предположить, что ни одно из содержания файла измененных файлов не отличается - кодовая база не была с 08 ноября'.
Для ясности концентратор мерзавца repo является авторитетным. Мой локальный repo является тем, который я хочу подойти к концентратору мерзавца, показавшему реальным ветвлением мерзавца.
Вы должны быть в состоянии добавить удаленный доступ к существующему репозиторию (используя git remote add
), чтобы вы могли получать содержимое репозитория github в ваш существующий репозиторий.
Предполагая, что у вас есть коммит в вашей истории (назовём его O) и коммит в удалённой ветке (назовём его R), которые соответствуют одному и тому же набору файлов (например, они оба являются импортами одной и той же версии релиза), тогда вы можете просто сделать 'onto' rebase. Предположим, что у вас есть вершина ваших изменений, которые вы сейчас проверяете:
git rebase --onto R O # R and O are sha1 ids (possibly abbreviated)
Это перенесёт все ваши коммиты с момента O на новый корневой коммит R.
После этого, если вы не в курсе последней удалённой мастер-ветки, вы можете использовать обычный rebase, чтобы добраться до неё, а git's history tracking позаботится о том, чтобы ваши изменения были применены так, чтобы это имело смысл.
git rebase <remote_name>/master # where <remote_name> is whatever
# you called the github remote when
# you used git remote add