LINUX.ORG.RU

Знатокам git'а


0

0

Вот в общем я сделал свою ветку внес, как мне кажется нужные изменения сделал commit -a и отослал git formated patch, как трабовал мантейнер.

Но у мантейнера вдруг откуда не возьмись возникли придирки к моему английска языка в комментах и он попросил их доработать.

Собственно вопрос, что можно сделать с коммитом в своей ветке? Лично мне хотелось бы убрать его нафиг, тоесть перенести изменения в файлы и после изменений сново закомментить как одно целое.

И еще. Есть ли возможность перенести коммит наверх? И можно ли хотя бы добавить изменения к уже существующему?


Ответ на: комментарий от true_admin

Это все хорошо но перед целевым коммитом, который нужно исправить, стоит еще один и его уже приняли в основную ветку :(.

Fredy
() автор топика
Ответ на: комментарий от Fredy

get checkout master
git pull
git checkout my_branch
git rebase --interactive

fghj ★★★★★
()

Почему бы не продолжить изменения и не отослать потом два последовательных патча?

ip1981 ☆☆
()
Ответ на: комментарий от ip1981

>Почему бы не продолжить изменения и не отослать потом два последовательных патча?

Да я и сам не знаю ответ я вообще пытался вначале впихнуть вывод diff

После просьбы автора предоставить git formted patch разобрался с git-format-patch, судя по результату с последним патчем он их подписывает и добавляет без каких либо изменений сохраняя в том числе и мой комментарий, ну а если я пришлю два будет два коммита. Да и принцип - на каждую фитчу собственный патч будет нарушен, со второй границы. К томуже исправления в патче касаются применения 'английская языка' в комментах и правки мана.

>get checkout master >git pull

>git checkout my_branch

>git rebase --interactive master

уже

Я кажется определился в том чего мне хочется. А именно чтоб коммит со всеми изменениями всплыл вверх для того чтобы к нему были применимы

git commit --amend

git reset

Ну или обьединить все мои исправления в один патч который можно было бы включить в основную ветку как один коммит.

Fredy
() автор топика
Ответ на: комментарий от Fredy

>git rebase --interactive master

>уже

>А именно чтоб коммит со всеми изменениями всплыл вверх

>Ну или обьединить все мои исправления в один патч

если вы вызвали вышеуказанную команду то вы легко это смогли бы сделать,
так что ваш пост совершенно не понятен

fghj ★★★★★
()
Ответ на: комментарий от fghj

я просто не понимаю о чем вы говорите если имеется ввиду что патч отосланный в маинстрим после git rebase --interactive master исчез из моей ветки и теперь можно спокойно править предыдущий, то да спасибо это помогло.
На самом деле я теперь пытаюсь решить теоретически возможную ситуацию - 'а что если?'. А что если бы он все еще мешал мне. А можно ли открыть новую ветку на этом коммите и продолжать с ним работать, а после убрать revert'ом коммит из предыдущей и rebase новую ветку на нее.
как-то так:


                   new
                 /
             A---M---B---fredy
            /
---o---O---P---master

                 new
                /
               M    
              / 
             A---B---fredy
            /
---o---O---P---master


                    new
                   /
                  M    
                 / 
             A---B---fredy
            /
---o---O---P---master

или это тоже не имеет смасла делать по какойто причине?

Fredy
() автор топика
Ответ на: комментарий от Fredy

>На самом деле я теперь пытаюсь решить теоретически возможную ситуацию >- 'а что если?'.

> А что если бы он все еще мешал мне.

тогда его можно просто удалить с помощью
git rebase --interactive master
или его можно было бы объединить или сделать еще что-нибудь
вы запускали rebase с ключом interactive или нет?

fghj ★★★★★
()
Ответ на: комментарий от fghj

Ндаа... но я как то и не заметил, что это можно использовать для целей отличных от синхронизации двух веток. Саписибо за то что в третий раз повторили, а то боюсь я бы так и не заметил комментариев внизу.

Fredy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.