Привет, rsdn. Есть один коммит...
В общем, есть коммит, который уже запушен по WebDAV в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?
Здравствуйте, Mr.Cat, Вы писали:
MC>В общем, есть коммит, который уже запушен по WebDAV в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?
а так сработает?
git commit --amend -m "new commit message"
git push
On 02/02/2010 14:15, Mr.Cat wrote:
> В общем, есть коммит, который уже запушен по WebDAV в некий удаленный > репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, > чтобы они отразились и на удаленном репозитории?
изменять историю — "git rebase", а чтобы отправить на другой репозиторий нужно делать "git push --force".
Однако, --force потенциално опасен, т.к. может затереть изменения, и рассинхронизировать другие репозитории, поэтому, обычно для "главного" репозитория его обычно запрещают. И тут уж ничего не сделаешь, если у тебя нет админского доступа.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ., Вы писали: .>изменять историю — "git rebase", а чтобы отправить на другой репозиторий нужно делать "git push --force".
Нашел: http://kernel.org/pub/software/scm/git-core/docs/user-manual.html#cleaning-up-history
А оно насколько безопасно? Т.е. что я теоретически могу поломать в самом худшем случае? Например, не сойдет ли с ума trac, к тому репозиторию привязанный?
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 в некий удаленный репозиторий. Могу ли я теперь в этот коммит внести какие-то изменения, чтобы они отразились и на удаленном репозитории?
Элементарно...
Делаешь новый коммит со своими изменениями.
А историю переписывать плохо всегда и не только в программировании.
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
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай