2014-12-02 2 views
-1

В нашем проекте каждый разработчик решает свои проблемы в собственных филиалах. И случается, что кто-то делает ошибку и хочет выполнить git commit --amend после нажатия своей ветви на удаленное репо.Git push after modify в моей ветке

Вопрос: это опасно или нет? Другие разработчики потеряют свой прогресс?

ответ

1

git commit --amend по существу переписывает историю; в частности, последнее совершение. Это, как правило, безопасно IF и только если вы еще не нажали эту фиксацию на общую ветвь (т. Е. Слияние на master), которую все остальные извлекают из OR, если вы абсолютно точно знаете, что никто другой не слился или не основывал свою работу о работе, выполненной в вашем филиале.

Таким образом, чтобы подвести итог, можно смело внести изменения, если выполняются следующие условия:

  • Никто не вытащил свою ветку и основывал свою собственную работу на вашу работу.
  • Вы еще не объединили свою ветвь в общий мастер или не создали ветку.

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

Чтобы ответить на часть вашего вопроса более конкретно:

(после нажатия его ветви удаленных репо)

Это действительно зависит от того, что вы имеете в виду как «удаленный репозиторий». Если это просто его собственная локальная ветвь в удаленном репозитории, и никто еще не потянул свою ветку в свою ветку, то это совершенно безопасно, поскольку он просто будет изменять свой собственный удаленный репозиторий, который никто другой не использует. Если «удаленное репо» на самом деле означало удаленную главную ветвь, то это НЕ безопасно делать, поскольку все остальные в проекте, вероятно, будут использовать эту ветвь для создания собственных локальных ветвей для новой работы.

Смежные вопросы