Мой репозиторий выглядит так.Как импортировать новую версию проекта в мой репозиторий git?
v1 - A - B - C ...
где фиксации v1
представляет содержимое upstream-project-foo-0.9.8.tar.gz
и совершающее A, B ... мои модификации.
Целью является обновление моей копии upstream-project
и перенос коммитов A, B, C ... на нее.
Как получить новую версию tarball upstream-project
в мой репозиторий git как еще одну ветку? Или я должен рассмотреть возможность создания второго git-хранилища?
Возможно, вы захотите «git rm -r.» Перед извлечением tarball (так что имена путей, которые существовали в * v1 * commit, но не присутствуют в новом архиве (т. Е. Удаленные/переименованные файлы), не сохраняются в * вверх по течению * ветка). –
@ Chris Мое понимание заключается в том, что add -A охватывает этот пост: http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add –
Изображение двух архивов: 'oldversion .tar.gz' имеет файлы 'a' и' b'; 'newversion.tar.gz' имеет файлы' a' и 'c' (нет' b'). Если вы просто распакуете «новый» поверх «старого», у вас будут как 'b', так и' c'. Вам нужно очистить все, что находится в «старом», но не в «новом». Самый простой способ сделать это - удалить все, что было в «старом», а затем распаковать (и добавить через «-A') все, что появилось с« новым ». 'git add -A' удалит из имен указателей, которые не существуют в рабочем дереве, но он не может идентифицировать имена путей, которые были в« старых », но не в« новых », если вы просто распаковываете более позднюю версию поверх первой. –