Size: a a a

2021 March 17

A

Alex in ctodailychat
а там revert-ы (( которые позже по времени
источник

A

Artur in ctodailychat
реверты старых комитов откатят черипики, даже если их сделать поверх?
источник

AA

Anri Asaturov in ctodailychat
не откатят
источник

SG

Samat Galimov in ctodailychat
Alex
черрипик да, но рано или поздно фичу придется мерджить в мастер
я бы спросил на stackoverflow, там есть супер монстры
источник

AA

Anri Asaturov in ctodailychat
черипик это новый коммит
источник

SG

Samat Galimov in ctodailychat
вопрос звучит нетривиально
источник

A

Artur in ctodailychat
вот, гуру подтянулись
источник

A

Alex in ctodailychat
Anri Asaturov
черипик это новый коммит
разве? по-моему на тот же коммит просто ставится метка
источник

SG

Samat Galimov in ctodailychat
Alex
разве? по-моему на тот же коммит просто ставится метка
источник

AS

Alexandr Subbotin in ctodailychat
Как вариант: сделать в фича-бранч рибейз мастера и потом сделать реверт ревертов
источник

AA

Anri Asaturov in ctodailychat
источник

AA

Anri Asaturov in ctodailychat
@jitbit проверил еще раз
источник

A

Alex in ctodailychat
почти оно, спасибо! думал обойтись без доп.коммитов просто... вот тут чтото такое https://stackoverflow.com/questions/727994/git-skipping-specific-commits-when-merging/729723
источник

L

Lev in ctodailychat
Можно ещё по идее сделать новый бранч от мастера и смержить туда фича бранч
источник

A

Alex in ctodailychat
Lev
Можно ещё по идее сделать новый бранч от мастера и смержить туда фича бранч
кстати крутая идея.
источник

ES

Egor Suvorov in ctodailychat
Alex
разве? по-моему на тот же коммит просто ставится метка
Нет, это новый коммит.

git ~~ блокчейн, умеет только создавать новые коммиты (с >= 1 родителем, кроме initial commit, у него может быть ноль) и двигать ветку (ветка == указатель на коммит).

Соответственно, revert == новый коммит, у которого в описании написали "откатывает то-то". Никак с исходным коммитом не связан.

Если где-то сделали squash-merge, то это называется "создали новый коммит с таким же содержимым, как и ветка, и в описании написали, что он к ней имеет отношение". При этом сама ветка никакого отношения к этому коммиту не имеет. Чтобы начала иметь — можно вмёржить мастер в эту ветку и тем самым сообщить гиту, что они теперь и по сути тоже синхронизированы.
источник

ES

Egor Suvorov in ctodailychat
Egor Suvorov
Нет, это новый коммит.

git ~~ блокчейн, умеет только создавать новые коммиты (с >= 1 родителем, кроме initial commit, у него может быть ноль) и двигать ветку (ветка == указатель на коммит).

Соответственно, revert == новый коммит, у которого в описании написали "откатывает то-то". Никак с исходным коммитом не связан.

Если где-то сделали squash-merge, то это называется "создали новый коммит с таким же содержимым, как и ветка, и в описании написали, что он к ней имеет отношение". При этом сама ветка никакого отношения к этому коммиту не имеет. Чтобы начала иметь — можно вмёржить мастер в эту ветку и тем самым сообщить гиту, что они теперь и по сути тоже синхронизированы.
Хм, это вроде ответ вообще не на тот вопрос, прошу прощения.
источник

A

Alex in ctodailychat
Egor Suvorov
Нет, это новый коммит.

git ~~ блокчейн, умеет только создавать новые коммиты (с >= 1 родителем, кроме initial commit, у него может быть ноль) и двигать ветку (ветка == указатель на коммит).

Соответственно, revert == новый коммит, у которого в описании написали "откатывает то-то". Никак с исходным коммитом не связан.

Если где-то сделали squash-merge, то это называется "создали новый коммит с таким же содержимым, как и ветка, и в описании написали, что он к ней имеет отношение". При этом сама ветка никакого отношения к этому коммиту не имеет. Чтобы начала иметь — можно вмёржить мастер в эту ветку и тем самым сообщить гиту, что они теперь и по сути тоже синхронизированы.
"вмерджить в мастер ветку" не очень получается, ибо реверты из мастер откатывает все изменения ветки

ну я уже делаю "Revert the Revert" как в ссылке @samatg прошу у всех прощения, что сам ее не нашел
источник

K

KivApple in ctodailychat
Alex
други подскажите по гиту, я чтото уже голову сломал и нагуглить ничего не могу...

было два бранча - фича и мастер. Фичу смерджили в мастер и накатили в прод. И с тех пор еще успели накоммитить всякого в мастер.

через два дня выяснили что фича сыровата в одном супер-экзотическом edge-case. Что сделали: git revert для мердж-коммита в мастере (это был PR squash merge) и еще парочку git revert для других коммитов связанных с "фичей". Это видимо не очнеь правильно, но мы спешили.

и продолжаем работать над фичей в бранче.

НО теперь если мы захотим апдейтнуть фича-бранч из мастера - он попытается смерджить из него revert-коммиты!!

какой бестпректис в таких случаях?

PS. может git merge -s ours master?
В будущем делать отключаемые через конфиг фичи и можно будет не откатывать, если неудачно смерджили? Ну как один раз вариантов
источник

IV

Igor V in ctodailychat
что люди не придумают лишь бы не делать trunk based development с feature toggles
источник