ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q:  [git] Как разбить большой коммит на несколько?
@ 2009-09-29 14:27 Aleksey Avdeev
  2009-09-29 14:35 ` Led
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Aleksey Avdeev @ 2009-09-29 14:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]

Приветствую.

   А как, в git, разбить один большой коммит на несколько?

PS: Описание решения подобной задачи мне кажется где-то попадалось. Но 
сейчас, когда оно потребовалось -- что-то не находиться...

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
@ 2009-09-29 14:35 ` Led
  2009-09-29 15:24   ` Aleksey Avdeev
  2009-09-29 14:37 ` Andrey Rahmatullin
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Led @ 2009-09-29 14:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
> Приветствую.
>
>    А как, в git, разбить один большой коммит на несколько?
>
> PS: Описание решения подобной задачи мне кажется где-то попадалось. Но
> сейчас, когда оно потребовалось -- что-то не находиться...

git help rebase
смотреть секцию SPLITTING COMMITS

-- 
Led

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
  2009-09-29 14:35 ` Led
@ 2009-09-29 14:37 ` Andrey Rahmatullin
  2009-09-29 14:42 ` Kharitonov A. Dmitry
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 22+ messages in thread
From: Andrey Rahmatullin @ 2009-09-29 14:37 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 389 bytes --]

On Tue, Sep 29, 2009 at 06:27:55PM +0400, Aleksey Avdeev wrote:
>    А как, в git, разбить один большой коммит на несколько?
git add --patch для незакоммиченного или git rebase -i для закоммиченного,
видимо.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

> Вчера поздно вечером обновлялся.
Кто же обновляется в пятницу поздно вечером?
		-- ldv in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
  2009-09-29 14:35 ` Led
  2009-09-29 14:37 ` Andrey Rahmatullin
@ 2009-09-29 14:42 ` Kharitonov A. Dmitry
  2009-09-29 14:48 ` Alexey Gladkov
  2009-09-29 14:56 ` Alexey I. Froloff
  4 siblings, 0 replies; 22+ messages in thread
From: Kharitonov A. Dmitry @ 2009-09-29 14:42 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Aleksey Avdeev wrote:
> Приветствую.
>
>   А как, в git, разбить один большой коммит на несколько?
>
> PS: Описание решения подобной задачи мне кажется где-то попадалось. Но 
> сейчас, когда оно потребовалось -- что-то не находиться...
Я комит преобразовывал в патч и редактировал этот патч.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
                   ` (2 preceding siblings ...)
  2009-09-29 14:42 ` Kharitonov A. Dmitry
@ 2009-09-29 14:48 ` Alexey Gladkov
  2009-09-29 14:56 ` Alexey I. Froloff
  4 siblings, 0 replies; 22+ messages in thread
From: Alexey Gladkov @ 2009-09-29 14:48 UTC (permalink / raw)
  To: devel

29.09.2009 18:27, Aleksey Avdeev wrote:
> Приветствую.
> 
>    А как, в git, разбить один большой коммит на несколько?

git add --interactive ?

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
                   ` (3 preceding siblings ...)
  2009-09-29 14:48 ` Alexey Gladkov
@ 2009-09-29 14:56 ` Alexey I. Froloff
  4 siblings, 0 replies; 22+ messages in thread
From: Alexey I. Froloff @ 2009-09-29 14:56 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 204 bytes --]

On Tue, Sep 29, 2009 at 06:27:55PM +0400, Aleksey Avdeev wrote:
>    А как, в git, разбить один большой коммит на несколько?
Буду оригинальным:

git commit --interactive

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 14:35 ` Led
@ 2009-09-29 15:24   ` Aleksey Avdeev
  2009-09-29 16:33     ` Led
  0 siblings, 1 reply; 22+ messages in thread
From: Aleksey Avdeev @ 2009-09-29 15:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 697 bytes --]

Led пишет:
> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
>> Приветствую.
>>
>>    А как, в git, разбить один большой коммит на несколько?
>>
>> PS: Описание решения подобной задачи мне кажется где-то попадалось. Но
>> сейчас, когда оно потребовалось -- что-то не находиться...
> 
> git help rebase
> смотреть секцию SPLITTING COMMITS

   Спасибо, это оно (git gui весьма сильно помогает).

   А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать 
rebase так, чтобы была не одна ветка, а дерево?

PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи 
-- повторять руками... Есть ли путь проще?

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 16:33     ` Led
@ 2009-09-29 16:31       ` Aleksey Avdeev
  2009-09-29 16:59         ` Kharitonov A. Dmitry
  0 siblings, 1 reply; 22+ messages in thread
From: Aleksey Avdeev @ 2009-09-29 16:31 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 915 bytes --]

Led пишет:
> On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
>> Led пишет:
>>> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
>>>> Приветствую.
>>>>
>>>>    А как, в git, разбить один большой коммит на несколько?
>>>>
>>>> PS: Описание решения подобной задачи мне кажется где-то попадалось. Но
>>>> сейчас, когда оно потребовалось -- что-то не находиться...
>>> git help rebase
>>> смотреть секцию SPLITTING COMMITS
>>    Спасибо, это оно (git gui весьма сильно помогает).
>>
>>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
>> rebase так, чтобы была не одна ветка, а дерево?
>>
>> PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи
>> -- повторять руками... Есть ли путь проще?
> 
> rebase с ключём -p
> Но лучше резервную копию перед этим сделать:)

   Бранча или всего репозитория?

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 15:24   ` Aleksey Avdeev
@ 2009-09-29 16:33     ` Led
  2009-09-29 16:31       ` Aleksey Avdeev
  0 siblings, 1 reply; 22+ messages in thread
From: Led @ 2009-09-29 16:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
> Led пишет:
> > On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
> >> Приветствую.
> >>
> >>    А как, в git, разбить один большой коммит на несколько?
> >>
> >> PS: Описание решения подобной задачи мне кажется где-то попадалось. Но
> >> сейчас, когда оно потребовалось -- что-то не находиться...
> >
> > git help rebase
> > смотреть секцию SPLITTING COMMITS
>
>    Спасибо, это оно (git gui весьма сильно помогает).
>
>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
> rebase так, чтобы была не одна ветка, а дерево?
>
> PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи
> -- повторять руками... Есть ли путь проще?

rebase с ключём -p
Но лучше резервную копию перед этим сделать:)

-- 
Led

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 16:31       ` Aleksey Avdeev
@ 2009-09-29 16:59         ` Kharitonov A. Dmitry
  2009-09-29 17:05           ` Led
  0 siblings, 1 reply; 22+ messages in thread
From: Kharitonov A. Dmitry @ 2009-09-29 16:59 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Aleksey Avdeev wrote:
> Led пишет:
>> On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
>>> Led пишет:
>>>> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
>>>>> Приветствую.
>>>>>
>>>>>    А как, в git, разбить один большой коммит на несколько?
>>>>>
>>>>> PS: Описание решения подобной задачи мне кажется где-то 
>>>>> попадалось. Но
>>>>> сейчас, когда оно потребовалось -- что-то не находиться...
>>>> git help rebase
>>>> смотреть секцию SPLITTING COMMITS
>>>    Спасибо, это оно (git gui весьма сильно помогает).
>>>
>>>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
>>> rebase так, чтобы была не одна ветка, а дерево?
>>>
>>> PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи
>>> -- повторять руками... Есть ли путь проще?
>>
>> rebase с ключём -p
>> Но лучше резервную копию перед этим сделать:)
>
>   Бранча или всего репозитория?
Бранча.
Это совсем не лучший вариант. Лучше создать патч из комита, который 
хочешь разбить примерно так :
git-show git-show -p --raw HEAD >same.patch

потом руками в редакторе создать из него несколько патчей и приложить 
обратно примерно так:
git-apply --whitespace=nowarn --numstat --index --apply same.patch;
git-rm (если нужно)
git-add (если нужно)
git-commit -a



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 16:59         ` Kharitonov A. Dmitry
@ 2009-09-29 17:05           ` Led
  2009-09-29 17:22             ` Kharitonov A. Dmitry
  0 siblings, 1 reply; 22+ messages in thread
From: Led @ 2009-09-29 17:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday 29 September 2009 19:59:27 Kharitonov A. Dmitry wrote:
> Aleksey Avdeev wrote:
> > Led пишет:
> >> On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
> >>> Led пишет:
> >>>> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
> >>>>> Приветствую.
> >>>>>
> >>>>>    А как, в git, разбить один большой коммит на несколько?
> >>>>>
> >>>>> PS: Описание решения подобной задачи мне кажется где-то
> >>>>> попадалось. Но
> >>>>> сейчас, когда оно потребовалось -- что-то не находиться...
> >>>>
> >>>> git help rebase
> >>>> смотреть секцию SPLITTING COMMITS
> >>>
> >>>    Спасибо, это оно (git gui весьма сильно помогает).
> >>>
> >>>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
> >>> rebase так, чтобы была не одна ветка, а дерево?
> >>>
> >>> PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи
> >>> -- повторять руками... Есть ли путь проще?
> >>
> >> rebase с ключём -p
> >> Но лучше резервную копию перед этим сделать:)
> >
> >   Бранча или всего репозитория?
>
> Бранча.
> Это совсем не лучший вариант. Лучше создать патч из комита, который
> хочешь разбить примерно так :
> git-show git-show -p --raw HEAD >same.patch
>
> потом руками в редакторе создать из него несколько патчей и приложить
> обратно примерно так:
> git-apply --whitespace=nowarn --numstat --index --apply same.patch;
> git-rm (если нужно)
> git-add (если нужно)
> git-commit -a

Конечно, можно гланды и через извесное место удалять. Но называть этот вариант 
лучшим?..


-- 
Led

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 17:05           ` Led
@ 2009-09-29 17:22             ` Kharitonov A. Dmitry
  2009-09-29 17:46               ` Led
  0 siblings, 1 reply; 22+ messages in thread
From: Kharitonov A. Dmitry @ 2009-09-29 17:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Led wrote:
> On Tuesday 29 September 2009 19:59:27 Kharitonov A. Dmitry wrote:
>   
>> Aleksey Avdeev wrote:
>>     
>>> Led пишет:
>>>       
>>>> On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
>>>>         
>>>>> Led пишет:
>>>>>           
>>>>>> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
>>>>>>             
>>>>>>> Приветствую.
>>>>>>>
>>>>>>>    А как, в git, разбить один большой коммит на несколько?
>>>>>>>
>>>>>>> PS: Описание решения подобной задачи мне кажется где-то
>>>>>>> попадалось. Но
>>>>>>> сейчас, когда оно потребовалось -- что-то не находиться...
>>>>>>>               
>>>>>> git help rebase
>>>>>> смотреть секцию SPLITTING COMMITS
>>>>>>             
>>>>>    Спасибо, это оно (git gui весьма сильно помогает).
>>>>>
>>>>>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
>>>>> rebase так, чтобы была не одна ветка, а дерево?
>>>>>
>>>>> PS: Собираюсь делать rebase кусками, между точками мержей, а сами мержи
>>>>> -- повторять руками... Есть ли путь проще?
>>>>>           
>>>> rebase с ключём -p
>>>> Но лучше резервную копию перед этим сделать:)
>>>>         
>>>   Бранча или всего репозитория?
>>>       
>> Бранча.
>> Это совсем не лучший вариант. Лучше создать патч из комита, который
>> хочешь разбить примерно так :
>> git-show git-show -p --raw HEAD >same.patch
>>
>> потом руками в редакторе создать из него несколько патчей и приложить
>> обратно примерно так:
>> git-apply --whitespace=nowarn --numstat --index --apply same.patch;
>> git-rm (если нужно)
>> git-add (если нужно)
>> git-commit -a
>>     
>
> Конечно, можно гланды и через извесное место удалять. Но называть этот вариант 
> лучшим?..
>   
А вы пробовали?
Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и 
испортив два репозитария. Потом пошёл описанным выше путём и сделал всё 
за 2 часа. И, что мне особенно понравилось, удалось разбить правки в 
одном файле на несколько соммитов ничего не потеряв.

>
>   



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 17:22             ` Kharitonov A. Dmitry
@ 2009-09-29 17:46               ` Led
  2009-09-29 18:13                 ` Kharitonov A. Dmitry
  0 siblings, 1 reply; 22+ messages in thread
From: Led @ 2009-09-29 17:46 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday 29 September 2009 20:22:46 Kharitonov A. Dmitry wrote:
> Led wrote:
> > On Tuesday 29 September 2009 19:59:27 Kharitonov A. Dmitry wrote:
> >> Aleksey Avdeev wrote:
> >>> Led пишет:
> >>>> On Tuesday 29 September 2009 18:24:42 Aleksey Avdeev wrote:
> >>>>> Led пишет:
> >>>>>> On Tuesday 29 September 2009 17:27:55 Aleksey Avdeev wrote:
> >>>>>>> Приветствую.
> >>>>>>>
> >>>>>>>    А как, в git, разбить один большой коммит на несколько?
> >>>>>>>
> >>>>>>> PS: Описание решения подобной задачи мне кажется где-то
> >>>>>>> попадалось. Но
> >>>>>>> сейчас, когда оно потребовалось -- что-то не находиться...
> >>>>>>
> >>>>>> git help rebase
> >>>>>> смотреть секцию SPLITTING COMMITS
> >>>>>
> >>>>>    Спасибо, это оно (git gui весьма сильно помогает).
> >>>>>
> >>>>>    А есть ли вариант rebase, учитывающий мержы? В смысле: как сделать
> >>>>> rebase так, чтобы была не одна ветка, а дерево?
> >>>>>
> >>>>> PS: Собираюсь делать rebase кусками, между точками мержей, а сами
> >>>>> мержи -- повторять руками... Есть ли путь проще?
> >>>>
> >>>> rebase с ключём -p
> >>>> Но лучше резервную копию перед этим сделать:)
> >>>
> >>>   Бранча или всего репозитория?
> >>
> >> Бранча.
> >> Это совсем не лучший вариант. Лучше создать патч из комита, который
> >> хочешь разбить примерно так :
> >> git-show git-show -p --raw HEAD >same.patch
> >>
> >> потом руками в редакторе создать из него несколько патчей и приложить
> >> обратно примерно так:
> >> git-apply --whitespace=nowarn --numstat --index --apply same.patch;
> >> git-rm (если нужно)
> >> git-add (если нужно)
> >> git-commit -a
> >
> > Конечно, можно гланды и через извесное место удалять. Но называть этот
> > вариант лучшим?..
>
> А вы пробовали?

Да

> Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и
> испортив два репозитария. Потом пошёл описанным выше путём и сделал всё
> за 2 часа. И, что мне особенно понравилось, удалось разбить правки в
> одном файле на несколько соммитов ничего не потеряв.

На самом деле, мне очень редко приходится делать глобальный rebase - разве 
что, по нескольким последним коммитам и только по ещё неопубликованному.
Пробуманное бранчевание, merge, точечный cherry-pick и revert при 
необходимости - вполне достаточно.

-- 
Led

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 17:46               ` Led
@ 2009-09-29 18:13                 ` Kharitonov A. Dmitry
  2009-09-29 18:18                   ` Aleksey Avdeev
                                     ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Kharitonov A. Dmitry @ 2009-09-29 18:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions


>> Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и
>> испортив два репозитария. Потом пошёл описанным выше путём и сделал всё
>> за 2 часа. И, что мне особенно понравилось, удалось разбить правки в
>> одном файле на несколько соммитов ничего не потеряв.
>>     
>
> На самом деле, мне очень редко приходится делать глобальный rebase - разве 
> что, по нескольким последним коммитам и только по ещё неопубликованному.
> Пробуманное бранчевание, merge, точечный cherry-pick и revert при 
> необходимости - вполне достаточно.
>
>   
Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить 
единичный комит начинается другая песня. Алексей спрашивал про разбивку 
и, скорее всего чужого.



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 18:13                 ` Kharitonov A. Dmitry
@ 2009-09-29 18:18                   ` Aleksey Avdeev
  2009-09-30  5:28                     ` Aleksey Avdeev
  2009-09-29 18:41                   ` Alexey Voinov
  2009-09-29 19:22                   ` [devel] " Alexey Rusakov
  2 siblings, 1 reply; 22+ messages in thread
From: Aleksey Avdeev @ 2009-09-29 18:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1049 bytes --]

Kharitonov A. Dmitry пишет:
> 
>>> Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и
>>> испортив два репозитария. Потом пошёл описанным выше путём и сделал всё
>>> за 2 часа. И, что мне особенно понравилось, удалось разбить правки в
>>> одном файле на несколько соммитов ничего не потеряв.
>>>     
>>
>> На самом деле, мне очень редко приходится делать глобальный rebase - 
>> разве что, по нескольким последним коммитам и только по ещё 
>> неопубликованному.
>> Пробуманное бранчевание, merge, точечный cherry-pick и revert при 
>> необходимости - вполне достаточно.
>>
>>   
> Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить 
> единичный комит начинается другая песня. Алексей спрашивал про разбивку 
> и, скорее всего чужого.

   Не, своего. Но весьма старого (2007 года).

   Разбивку я с помощью  git gui (саму разбивку) и git commit --am -c 
...  (для восстановления времени коммита) 2 письма назад сделал. Сейчас 
буду дерево переносить...

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 18:13                 ` Kharitonov A. Dmitry
  2009-09-29 18:18                   ` Aleksey Avdeev
@ 2009-09-29 18:41                   ` Alexey Voinov
  2009-09-30 13:11                     ` [devel] [JT] " Ivan Fedorov
  2009-09-29 19:22                   ` [devel] " Alexey Rusakov
  2 siblings, 1 reply; 22+ messages in thread
From: Alexey Voinov @ 2009-09-29 18:41 UTC (permalink / raw)
  To: devel

On 29.09.2009 22:13, Kharitonov A. Dmitry wrote:
> Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить 
> единичный комит начинается другая песня. Алексей спрашивал про 
> разбивку и, скорее всего чужого.
И что только люди не делают лишь бы emacs не использовать. :)
emacs + magit легко позволяют как объединять, так и разбивать.

-- 
Alexey Voinov



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 18:13                 ` Kharitonov A. Dmitry
  2009-09-29 18:18                   ` Aleksey Avdeev
  2009-09-29 18:41                   ` Alexey Voinov
@ 2009-09-29 19:22                   ` Alexey Rusakov
  2 siblings, 0 replies; 22+ messages in thread
From: Alexey Rusakov @ 2009-09-29 19:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1650 bytes --]

В Втр, 29/09/2009 в 22:13 +0400, Kharitonov A. Dmitry пишет:
> >> Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и
> >> испортив два репозитария. Потом пошёл описанным выше путём и сделал всё
> >> за 2 часа. И, что мне особенно понравилось, удалось разбить правки в
> >> одном файле на несколько соммитов ничего не потеряв.
> >>     
> >
> > На самом деле, мне очень редко приходится делать глобальный rebase - разве 
> > что, по нескольким последним коммитам и только по ещё неопубликованному.
> > Пробуманное бранчевание, merge, точечный cherry-pick и revert при 
> > необходимости - вполне достаточно.
> >
> >   
> Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить 
> единичный комит начинается другая песня. Алексей спрашивал про разбивку 
> и, скорее всего чужого.
А я бы сделал git cherry-pick --no-commit на разбиваемый коммит, а
дальше запустил свой любимый gitg и в нём делал stage/unstage нужным
кускам...

-- 
  Alexey "Ktirf" Rusakov
  GNOME Project
  ALT Linux Team

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 18:18                   ` Aleksey Avdeev
@ 2009-09-30  5:28                     ` Aleksey Avdeev
  0 siblings, 0 replies; 22+ messages in thread
From: Aleksey Avdeev @ 2009-09-30  5:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1228 bytes --]

Aleksey Avdeev пишет:
> Kharitonov A. Dmitry пишет:
>>
>>>> Я на прошлой неделе этим занимался и начал с rebase, убив больше дня и
>>>> испортив два репозитария. Потом пошёл описанным выше путём и сделал всё
>>>> за 2 часа. И, что мне особенно понравилось, удалось разбить правки в
>>>> одном файле на несколько соммитов ничего не потеряв.
>>>>     
>>>
>>> На самом деле, мне очень редко приходится делать глобальный rebase - 
>>> разве что, по нескольким последним коммитам и только по ещё 
>>> неопубликованному.
>>> Пробуманное бранчевание, merge, точечный cherry-pick и revert при 
>>> необходимости - вполне достаточно.
>>>
>>>   
>> Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить 
>> единичный комит начинается другая песня. Алексей спрашивал про 
>> разбивку и, скорее всего чужого.
> 
>   Не, своего. Но весьма старого (2007 года).
> 
>   Разбивку я с помощью  git gui (саму разбивку) и git commit --am -c 
> ...  (для восстановления времени коммита) 2 письма назад сделал. Сейчас 
> буду дерево переносить...

   Перенос прошёл успешно: git rebase -p творит чудеса. :-)

PS: Правда пришлось на p5 мигрировать (с 4.1) и git обновить.

-- 

С уважением. Алексей.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 552 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [devel] [JT] Re: Q:  [git] Как разбить большой коммит на несколько?
  2009-09-29 18:41                   ` Alexey Voinov
@ 2009-09-30 13:11                     ` Ivan Fedorov
  2009-10-01  8:50                       ` Alexey Voinov
  0 siblings, 1 reply; 22+ messages in thread
From: Ivan Fedorov @ 2009-09-30 13:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 746 bytes --]

Alexey Voinov <voins-u2l5PoMzF/Uox3rIn2DAYQ@public.gmane.org> writes:

> On 29.09.2009 22:13, Kharitonov A. Dmitry wrote:
>> Это всё хорошо, когда комиты нужно объединить. Когда нужно разбить
>> единичный комит начинается другая песня. Алексей спрашивал про
>> разбивку и, скорее всего чужого.
> И что только люди не делают лишь бы emacs не использовать. :)
> emacs + magit легко позволяют как объединять, так и разбивать.
еслиб оно ещё и с мерзопакостным hg умело работать... :(

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] [JT] Re: Q:  [git] Как разбить большой коммит на несколько?
  2009-09-30 13:11                     ` [devel] [JT] " Ivan Fedorov
@ 2009-10-01  8:50                       ` Alexey Voinov
  2009-10-01 11:26                         ` Ivan Fedorov
  0 siblings, 1 reply; 22+ messages in thread
From: Alexey Voinov @ 2009-10-01  8:50 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Ivan Fedorov пишет:
>> И что только люди не делают лишь бы emacs не использовать. :)
>> emacs + magit легко позволяют как объединять, так и разбивать.
>>     
> еслиб оно ещё и с мерзопакостным hg умело работать... :(
http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsMercurial.html
Это если сходу.А при наличии времени magit довольно легко, думаю,
можно подстроить под hg.

-- 
Alexey Voinov



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] [JT] Re: Q:  [git] Как разбить большой коммит на несколько?
  2009-10-01  8:50                       ` Alexey Voinov
@ 2009-10-01 11:26                         ` Ivan Fedorov
  2009-10-01 12:00                           ` Alexey Voinov
  0 siblings, 1 reply; 22+ messages in thread
From: Ivan Fedorov @ 2009-10-01 11:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 838 bytes --]

Alexey Voinov <voins-u2l5PoMzF/Uox3rIn2DAYQ@public.gmane.org> writes:

> Ivan Fedorov пишет:
>>> И что только люди не делают лишь бы emacs не использовать. :)
>>> emacs + magit легко позволяют как объединять, так и разбивать.
>>>     
>> еслиб оно ещё и с мерзопакостным hg умело работать... :(
> http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsMercurial.html
> Это если сходу.
Да смотрел я это давным-давно... до magit там всему так далеко... :(

> А при наличии времени magit довольно легко, думаю, можно подстроить
> под hg.
Где бы взять столько времени...

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [devel] [JT] Re: Q:  [git] Как разбить большой коммит на несколько?
  2009-10-01 11:26                         ` Ivan Fedorov
@ 2009-10-01 12:00                           ` Alexey Voinov
  0 siblings, 0 replies; 22+ messages in thread
From: Alexey Voinov @ 2009-10-01 12:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Ivan Fedorov пишет:
>> А при наличии времени magit довольно легко, думаю, можно подстроить
>> под hg.
>>     
> Где бы взять столько времени...
>   
Я бы занялся, если бы мне был интересен hg, но он у меня вообще нигде
не используется и не предвидится. Вообще в magit код весьма неплох.
Не должно много времени занять.

-- 
Alexey Voinov




^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2009-10-01 12:00 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-29 14:27 [devel] Q: [git] Как разбить большой коммит на несколько? Aleksey Avdeev
2009-09-29 14:35 ` Led
2009-09-29 15:24   ` Aleksey Avdeev
2009-09-29 16:33     ` Led
2009-09-29 16:31       ` Aleksey Avdeev
2009-09-29 16:59         ` Kharitonov A. Dmitry
2009-09-29 17:05           ` Led
2009-09-29 17:22             ` Kharitonov A. Dmitry
2009-09-29 17:46               ` Led
2009-09-29 18:13                 ` Kharitonov A. Dmitry
2009-09-29 18:18                   ` Aleksey Avdeev
2009-09-30  5:28                     ` Aleksey Avdeev
2009-09-29 18:41                   ` Alexey Voinov
2009-09-30 13:11                     ` [devel] [JT] " Ivan Fedorov
2009-10-01  8:50                       ` Alexey Voinov
2009-10-01 11:26                         ` Ivan Fedorov
2009-10-01 12:00                           ` Alexey Voinov
2009-09-29 19:22                   ` [devel] " Alexey Rusakov
2009-09-29 14:37 ` Andrey Rahmatullin
2009-09-29 14:42 ` Kharitonov A. Dmitry
2009-09-29 14:48 ` Alexey Gladkov
2009-09-29 14:56 ` Alexey I. Froloff

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git