вопрос по git
От: nikkit  
Дата: 02.10.23 17:46
Оценка:
случайно вмерджил изменения по чужому ПР в свой.
заметил очень не сразу. как избавиться от мусора в моем ПР с наименьшей кровью? сейчас в голову приходит только порезать лишние изменения вручную из предыдущему моему коммиту состоянию, закоммитить, потом в том ПР, который вмерджил также вручную восстановить и привязать соответственно к нему. может можно проще?
Re: вопрос по git
От: m2user  
Дата: 02.10.23 18:12
Оценка:
Из текста не понятно, проблемный PR уже в состоянии completed или ещё нет.
И ещё напиши какой git server используется.
Re: вопрос по git
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 02.10.23 19:29
Оценка: +1
Здравствуйте, nikkit, Вы писали:

N>случайно вмерджил изменения по чужому ПР в свой.

N>заметил очень не сразу. как избавиться от мусора в моем ПР с наименьшей кровью? сейчас в голову приходит только порезать лишние изменения вручную из предыдущему моему коммиту состоянию, закоммитить, потом в том ПР, который вмерджил также вручную восстановить и привязать соответственно к нему. может можно проще?

Очевидно, что это вопрос не по Git — в нём вообще нет понятия PR (pull request) — а конкретному серверному средству (GitHub? Gitlab? Bitbucket? что-то иное?)

Уточни.

Или это ещё в локальной копии?
The God is real, unless declared integer.
Re[2]: вопрос по git
От: nikkit  
Дата: 02.10.23 20:16
Оценка:
N>Очевидно, что это вопрос не по Git — в нём вообще нет понятия PR (pull request) — а конкретному серверному средству (GitHub? Gitlab? Bitbucket? что-то иное?)

N>Уточни.


Bitbucket

N>Или это ещё в локальной копии?


нет. в ориджине. и куча всего сверху положена. не сразу спохватился.
Re[3]: вопрос по git
От: Skorodum Россия  
Дата: 02.10.23 21:29
Оценка:
Здравствуйте, nikkit, Вы писали:

N>нет. в ориджине. и куча всего сверху положена. не сразу спохватился.

Ветка твоя или что-то типа master, main, release? Если твоя, то можно историю переписать.
Re[4]: вопрос по git
От: nikkit  
Дата: 03.10.23 04:11
Оценка:
S>Ветка твоя или что-то типа master, main, release? Если твоя, то можно историю переписать.

ну типа релиза — для фиксов. общая в общем.
Re[5]: вопрос по git
От: B-52 Россия  
Дата: 03.10.23 05:00
Оценка: +1
Здравствуйте, nikkit, Вы писали:

N>ну типа релиза — для фиксов. общая в общем.


git revert *ай-ди-коммита*
Re[5]: вопрос по git
От: Skorodum Россия  
Дата: 03.10.23 07:57
Оценка:
Здравствуйте, nikkit, Вы писали:

N>ну типа релиза — для фиксов. общая в общем.

Тогда ничего. Общая история — неизменяема, это аксиома.
Re: вопрос по git
От: vsb Казахстан  
Дата: 03.10.23 08:07
Оценка:
Не знаю, что такое ПР, а так — создай ветку от последнего нормального коммита и чирипикай остальные коммиты.
Re[6]: вопрос по git
От: vsb Казахстан  
Дата: 03.10.23 08:08
Оценка: :))
Здравствуйте, Skorodum, Вы писали:

N>>ну типа релиза — для фиксов. общая в общем.

S>Тогда ничего. Общая история — неизменяема, это аксиома.

Почему это? Берёшь и меняешь, потом остальным говоришь, чтобы скачали репозиторий заново.
Re[7]: вопрос по git
От: m2user  
Дата: 03.10.23 08:42
Оценка:
S>>Тогда ничего. Общая история — неизменяема, это аксиома.

vsb>Почему это? Берёшь и меняешь, потом остальным говоришь, чтобы скачали репозиторий заново.


Технически да, но представь, что на эту историю уже насобиралось билдов, тестировщики по-написали/по-закрывали bug`ов, workitem`ы ассоциировались.
А тут раз — и нет этих коммитов
Обычно такие ситуации разрешает владелец ветки согласно некоторому регламенту, а у ТС и прав-то скорее всего нет на перезапись истории.
Re[6]: вопрос по git
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 03.10.23 09:49
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>Здравствуйте, nikkit, Вы писали:


N>>ну типа релиза — для фиксов. общая в общем.

S>Тогда ничего. Общая история — неизменяема, это аксиома.

Не совсем. В мане git rebase есть даже глава "Recovering from upstream rebase", которая пригодна ко всем таким случаям.

Но это существенные неудобства в момент обновления, которые надо решать врукопашную, поэтому предпочитают так не делать.
The God is real, unless declared integer.
Re[2]: вопрос по git
От: AlexGin Беларусь  
Дата: 03.10.23 10:03
Оценка: -2
Здравствуйте, vsb, Вы писали:

vsb>Не знаю, что такое ПР, а так — создай ветку от последнего нормального коммита и чирипикай остальные коммиты.


Это "Pull Request", но — как уже писали выше — это не связано непосредственно с Git.
Здесь надо обращаться к администратору сервиса Вашего репозитория.
Re[7]: вопрос по git
От: Skorodum Россия  
Дата: 03.10.23 10:31
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Почему это? Берёшь и меняешь, потом остальным говоришь, чтобы скачали репозиторий заново.

Если есть такая опция, то всего лишь локальную ветку удалить надо.
Re[7]: вопрос по git
От: Skorodum Россия  
Дата: 03.10.23 10:33
Оценка: +1
Здравствуйте, netch80, Вы писали:

N>Но это существенные неудобства в момент обновления, которые надо решать врукопашную, поэтому предпочитают так не делать.

Из личного опыта: ~10% разработчиков знают и понимает git rebase.
Re[8]: вопрос по git
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 04.10.23 08:34
Оценка:
Здравствуйте, Skorodum, Вы писали:

N>>Но это существенные неудобства в момент обновления, которые надо решать врукопашную, поэтому предпочитают так не делать.

S>Из личного опыта: ~10% разработчиков знают и понимает git rebase.

OK. Только в чём причина — остальных просто не учат, или они не в состоянии это понять?
Это принципиальный вопрос.
А то, например, многие сервера без rebase не пускают мержить при конфликтах.
The God is real, unless declared integer.
Re[9]: вопрос по git
От: Skorodum Россия  
Дата: 04.10.23 12:36
Оценка:
Здравствуйте, netch80, Вы писали:

N>OK. Только в чём причина — остальных просто не учат, или они не в состоянии это понять?

N>Это принципиальный вопрос.
Точно не знаю, но есть еще один вариант: не считают нужным учить, и мне кажется, что это наиболее часто встречаемый вариант.

N>А то, например, многие сервера без rebase не пускают мержить при конфликтах.

Они конфликтов бояться как огня и зовут коллег помочь если случаются конфликты.

Немного КСВ-шного оффтопа: в программированиие есть несколько таких моментов, которые люди либо понимают, либо совем не понимают и используют совсем неправильно.
Вот с непониманием чего приходилось сталкиваться:
1. Переменные, массивы, циклы и функции.
2. Классы.
3. Шаблоны.
4. Функциональное программирование.
5. Граф зависимостей и сборка проекта (CMake, qbs or whatever).
6. Контроль версий, особенно распределенные системы типа гита.
Re: вопрос по git
От: Mihas  
Дата: 04.10.23 13:15
Оценка:
Здравствуйте, nikkit, Вы писали:

N>сейчас в голову приходит только порезать лишние изменения вручную из предыдущему моему коммиту состоянию, закоммитить,

Когда вы с коллегой будете сливать оба своих коммита в мастер-ветку, с т.з гита твои манипуляции будет выглядеть так: коллега добавил изменения, а ты их убрал.
Воспользуйся советом vsb
Re[9]: вопрос по git
От: Skorodum Россия  
Дата: 05.10.23 13:25
Оценка: +2 :))
Здравствуйте, netch80, Вы писали:

N>OK. Только в чём причина — остальных просто не учат, или они не в состоянии это понять?

N>Это принципиальный вопрос.
N>А то, например, многие сервера без rebase не пускают мержить при конфликтах.
Какой-то там ребейз: тут вообще мрак
Автор: Baiker
Дата: 05.10.23
и ужас
Автор: Sharowarsheg
Дата: 05.10.23
.
Re[7]: вопрос по git
От: Igore Россия  
Дата: 09.10.23 14:17
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Почему это? Берёшь и меняешь, потом остальным говоришь, чтобы скачали репозиторий заново.

А так же все ветки которые уже успели создаться от старой ветки, если работаешь 1 над веткой еще хоть как то можно это оправдать, но если эта ветка влита в релиз, нее, проще через revert

https://git-scm.com/book/ru/v2/%D0%92%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-Git-%D0%9F%D0%B5%D1%80%D0%B5%D0%B1%D0%B0%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

Опасности перемещения

Но даже перебазирование, при всех своих достоинствах, не лишено недостатков, которые можно выразить одной строчкой:

Не перемещайте коммиты, уже отправленные в публичный репозиторий

Если вы будете придерживаться этого правила, всё будет хорошо. Если не будете, люди возненавидят вас, а ваши друзья и семья будут вас презирать.

Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.