Как Вы давите фиксации в один патч с патчем формата мерзавца?

Если вы говорите о <compilation debug="true">, значит, вам не нужно перестраивать свое решение / проект.

Речь идет о компиляции ASP.NET, а не о вашей обычной компиляции проекта. Каждый раз, когда приложение ASP.NET запускается, если оно не было опубликовано до его компиляции, ядро ​​ASP.NET будет компилировать ваши пользовательские элементы управления, код с выделенным кодом и другие области вашего веб-приложения во время первого запроса к вашему веб-сайту.

162
задан Dariusz Woźniak 20 November 2014 в 10:28
поделиться

4 ответа

Я рекомендовал бы делать это на одноразовом ответвлении следующим образом. Если Ваши фиксации находятся в ответвлении "новых строк", и Вы уже переключились назад на свое "основное" ответвление, это должно добиться цели:

[adam@mbp2600 example (master)]$ git checkout -b tmpsquash
Switched to a new branch "tmpsquash"

[adam@mbp2600 example (tmpsquash)]$ git merge --squash newlines
Updating 4d2de39..b6768b2
Fast forward
Squash commit -- not updating HEAD
 test.txt |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

[adam@mbp2600 example (tmpsquash)]$ git commit -a -m "My squashed commits"
[tmpsquash]: created 75b0a89: "My squashed commits"
 1 files changed, 2 insertions(+), 0 deletions(-)

[adam@mbp2600 example (tmpsquash)]$ git format-patch master
0001-My-squashed-commits.patch

Hope это помогает!

180
ответ дан Adam Alexander 23 November 2019 в 21:21
поделиться

Я всегда использую разность мерзавца так в Вашем примере, чем-то как

git diff master > patch.txt
20
ответ дан Rob Di Marco 23 November 2019 в 21:21
поделиться

Как Вы уже знаете, git format-patch -8 HEAD даст Вам восемь патчей.

, Если Вы хотите свои 8 фиксаций, появляются как один и не возражают переписывать историю Вашего ответвления (o-o-X-A-B-C-D-E-F-G-H), Вы могли:

git rebase -i
// squash A, B, C, D, E ,F, G into H

или, и это было бы лучшее решение, воспроизведение все Ваши 8 фиксаций от X (фиксация перед Вашими 8 фиксациями) на новом ответвлении

git branch delivery X
git checkout delivery
git merge --squash master
git format-patch HEAD

Тот путь, у Вас только есть одна фиксация на ответвлении "доставки", и это представляет все Ваши последние 8 фиксаций

18
ответ дан VonC 23 November 2019 в 21:21
поделиться

Просто чтобы добавить еще одно решение в горшок: Если вместо этого использовать:

git format-patch master --stdout > my_new_patch.diff

, то все равно будет 8 исправлений ... но все они будут в одном файле исправлений и будут применяться как один с:

git am < my_new_patch.diff
130
ответ дан 23 November 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: