Мне нужно экспортировать в архив набор коммитов в репозитории git. Как это сделать? Используя svn, я мог бы выбрать фиксацию и экспорт в zip.Git: получить конкретную фиксацию
ответ
Чтобы экспортировать в хранилище до определенного фиксации:
git archive -o export.zip <COMMIT>
. Замените <COMMIT>
номером фиксации, который вы хотите экспортировать.
Чтобы создать патч между двумя фиксаций:
git diff COMMIT1 COMMIT2 > patch.txt
Я, хотя эта команда будет экспортировать каждую фиксацию в репозиторий до тех пор, пока не будет найдена указанная фиксация. Мне нужно экспортировать только указанные фиксации. Как патч. – user1170896
Ответ отрегулирован. – tobiasbayer
ok ... Но патч предназначен для использования в другом репозитории. Он содержит разметку, чтобы понять, где были сделаны модификации. Мне нужен архив только с измененными (обновленными) файлами между указанными коммитами. – user1170896
Git имеет удобный способ создания патча для каждой фиксации. Хотя это изначально предназначалось для форматирования патчей, чтобы их можно было отправить по электронной почте, они являются удобным способом извлечения набора изменений.
Команда, которую вы хотите, это git format-patch
и способ, которым вы применяете эти отформатированные исправления обратно в git с помощью команды git am
.
Например, если у вас есть два коммиты C1 и Cn, которые вы хотите экспортировать в виде набора GIT патчей вам нужно всего лишь:
git format-patch -k C1..Cn
Это создаст набор пронумерованных патчи (в текущем каталоге). Каждый патч будет отличаться от фиксации, а также от информации о фиксации (название, комментарий, автор, дата и т. Д.).
Это намного больше, чем простой файл diff между двумя коммитами, которые предоставят вам.
Я думаю, что это должно быть 'git format-patch -k C1 ~ ..Cn' вместо' git format-patch -k C1..Cn', потому что левая часть диапазона _exclusive_, поэтому вы должны дать _parent_ ('~') первого коммита. – nh2
- 1. Удалить конкретную фиксацию
- 2. Как получить конкретную фиксацию с помощью JGit
- 3. Клонировать только конкретную фиксацию с использованием git
- 4. Как удалить конкретную фиксацию в git?
- 5. Как получить конкретную фиксацию от Git as-is
- 6. git pull from remote ... могу ли я взять конкретную фиксацию?
- 7. Git получить конкретную версию
- 8. Вернуть нажатую ветвь в конкретную фиксацию
- 9. Какова команда сброса файла на конкретную фиксацию?
- 10. (git): Как передать конкретную фиксацию из ветки вверх?
- 11. Как удалить только конкретную фиксацию в середине журнала git
- 12. Как просмотреть все теги, указывающие на конкретную фиксацию в git
- 13. Git перематывать ветвь мастера на конкретную фиксацию в истории мастера
- 14. Временно переключите рабочую копию на конкретную Git-фиксацию
- 15. Как удалить конкретную фиксацию в локальном репозитории git?
- 16. Как использовать информацию «git describe», чтобы найти конкретную фиксацию?
- 17. Как вытащить конкретную фиксацию из GitHub?
- 18. Git: получить конкретную ревизию репозитория git с глубиной 1
- 19. Как найти фиксацию в Git?
- 20. Как скопировать конкретную фиксацию в другой филиал?
- 21. Как установить конкретную помеченную фиксацию пакета R
- 22. Как получить все ссылки, указывающие на фиксацию в git?
- 23. Получить специальную фиксацию из удаленного git repo
- 24. git: найти наибольшую фиксацию
- 25. Удалить промежуточную фиксацию GIT
- 26. Необходимо отменить фиксацию GIT
- 27. Git, похоже, «потерял» фиксацию
- 28. Git развернуть главную ветку или конкретную фиксацию или тег с помощью ресурса chef git
- 29. Удалить или вернуть конкретную фиксацию от мастера
- 30. Как установить конкретную фиксацию плагина cordova
Вы имеете в виду экспортные различия этих коммитов? – CharlesB
Да, теперь я понимаю, что это было непросто понять. Мне нужен архив с большинством файлов обновлений между 2 коммитами. – user1170896