Re[2]: [Git]Пофиксить историю
От: . Великобритания  
Дата: 03.02.10 12:46
Оценка: -1
On 03/02/2010 13:59, Аноним 820 wrote:

> А историю переписывать плохо всегда и не только в программировании.

Не стоит быть таким категоричным. rebase придумали не зря — clean history и всё такое. В общем следует почитать Линуса http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg39091.html
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
[Git]Пофиксить историю
От: Mr.Cat  
Дата: 02.02.10 12:15
Оценка:
Привет, rsdn. Есть один коммит...
В общем, есть коммит, который уже запушен по WebDAV в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?
Re: [Git]Пофиксить историю
От: Clerk  
Дата: 02.02.10 13:03
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>В общем, есть коммит, который уже запушен по WebDAV в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?


а так сработает?

git commit --amend -m "new commit message"
git push
... << RSDN@Home 1.2.0 alpha 4 rev. 1423>>
Re: [Git]Пофиксить историю
От: . Великобритания  
Дата: 02.02.10 15:27
Оценка:
On 02/02/2010 14:15, Mr.Cat wrote:

> В общем, есть коммит, который уже запушен по WebDAV в некий удаленный

> репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения,
> чтобы они отразились и на удаленном репозитории?
изменять историю — "git rebase", а чтобы отправить на другой репозиторий нужно делать "git push --force".
Однако, --force потенциално опасен, т.к. может затереть изменения, и рассинхронизировать другие репозитории, поэтому, обычно для "главного" репозитория его обычно запрещают. И тут уж ничего не сделаешь, если у тебя нет админского доступа.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: [Git]Пофиксить историю
От: Mr.Cat  
Дата: 02.02.10 15:48
Оценка:
Здравствуйте, Clerk, Вы писали:
C>а так сработает?
Не, после того коммита, который нужно поменять, уже были коммиты.
Re[2]: [Git]Пофиксить историю
От: Mr.Cat  
Дата: 02.02.10 16:00
Оценка:
Здравствуйте, ., Вы писали:
.>изменять историю — "git rebase", а чтобы отправить на другой репозиторий нужно делать "git push --force".
Нашел: http://kernel.org/pub/software/scm/git-core/docs/user-manual.html#cleaning-up-history
А оно насколько безопасно? Т.е. что я теоретически могу поломать в самом худшем случае? Например, не сойдет ли с ума trac, к тому репозиторию привязанный?
Re[3]: [Git]Пофиксить историю
От: . Великобритания  
Дата: 03.02.10 03:23
Оценка:
On 02/02/2010 18:00, Mr.Cat wrote:

> http://kernel.org/pub/software/scm/git-core/docs/user-manual.html#cleaning-up-history

> А оно насколько безопасно? Т.е. что я теоретически могу поломать в самом
> худшем случае? Например, не сойдет ли с ума trac, к тому репозиторию
> привязанный?
Просто изменения истории невозможно откатить. Если что-то слишком перечистил, поотменял изменения в коммитах, то восстановить невозможно (только если из бэкапов).
Если меняешь версии того, что только у тебя, то конфликтовать не с кем — проблем нет. А если скажем, твой репозиторий есть у кого-то ещё, и там тоже есть свои коммиты, а ты меняешь историю, то слияние не будет тривиальной задачей, очевидно.
trac не знаю, но в общем-то там по идее нечему ломаться, ибо он репу только читает. В jira-git была лишь проблема, когда оно делало pull себе, оно не смогло само его сделать автоматически, т.к. тоже пришлось ручками делать "pull --force".
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: [Git]Пофиксить историю
От: Аноним  
Дата: 03.02.10 11:59
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Привет, rsdn. Есть один коммит...

MC>В общем, есть коммит, который уже запушен по WebDAV в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?

Элементарно...
Делаешь новый коммит со своими изменениями.

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