nataraj: (Default)
[personal profile] nataraj
Вот например некто ведет разработку, и в процессе ведения шел патчи. И каждая новая версия патча -- улучшенная версия предыдущего.
И если для первого патча, я создаю ветку от master'а и накладываю патч, то как быть для второй версии этого патча, мне не понятно.
Накладывать второй патч так же надо на мастер. Но должен он оказаться в той же ветке что и первый патч, просто следующим коммитом. Как быть. Какой workfwolw правильный?

git checkout master
git branch patch_v1
git checkout patch_v1
pathc -p1 <patch_vi.diff
git commit -a

git checkout master
git branch patch_v2
git checkout patch_v2
pathc -p2 <patch_vi.diff
git commit -a

git rebase patch_v1

(Я так не пробовал. Боюсь ;-) )

Как вы решаете такие задачи?

ИМХО

Date: 2018-11-25 02:27 pm (UTC)
beldmit: (Default)
From: [personal profile] beldmit
Я бы попробовал сказать patch -R на результат приложения первого патча и после этого приложить второй и закоммитить.

В идеальном мире ты следишь за веткой из origin, содержащей патч, и время от времени её подтягиваешь.

Date: 2018-11-25 04:33 pm (UTC)
lodin: A bearded hacker in a hat (Default)
From: [personal profile] lodin
Ничего не понял, зачем в той же ветке? А, или надо в ветке запомнить изменения между первым и вторым патчем? Тогда да, patch -R...

Date: 2018-11-25 04:35 pm (UTC)
lodin: A bearded hacker in a hat (Default)
From: [personal profile] lodin
Можно ещё так:

git checkout patch_v1
git checkout HEAD^ -- .
git reset
patch -p ...


Первые три команды - аналог patch -R, но без доступа к первому патчу.

Date: 2018-11-25 06:04 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Вот за git reset в ветках из публичного репозитория мне хочется бить разработчиков линейкой по пальцам, если мне потом их ветки мерджить в релиз.

Date: 2018-11-25 07:08 pm (UTC)
lodin: A bearded hacker in a hat (Default)
From: [personal profile] lodin
В данном случае git reset просто уберёт с файлов пометки, что они от другого HEAD-а, а историю он не трогает. Я протиа редактирования истории.

Date: 2018-11-25 07:49 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner
Тут дело даже не в идеологическом "я против" а в количестве граблей, которые порождает пулл новой истории в рабочую копию, где сохранилась старая, неотредактированная.

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 20th, 2026 09:13 pm
Powered by Dreamwidth Studios