Лучшая практика для Remote Push в Git - PullRequest
1 голос
/ 22 марта 2012

Обычно, когда я хочу внести изменения в удаленный Git, я выполняю следующие действия:

git stash
git pull
git stash pop
//Resolve conflicts if any
git push

Однако я также видел, как мои товарищи по команде делали следующее:

git pull --rebase
//Resolve conflicts if any
git push

Iпросто хочу знать, есть ли что-то полезное друг для друга.Или даже если есть какой-то другой подход, который хорош.

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Это зависит от ваших потребностей: rebase создает линейную историю, а pull может привести к коммитам слияния. Я подробно описал этот ответ: https://stackoverflow.com/a/804178/520162

И ваш подход эквивалентен git pull --rebase, если вы ничего не совершали с момента вашего последнего удара.


Примечание стороны:

Если вы действительно так используете Git, значит, вы используете его неправильно. Это не похоже на SVN, где вы должны убедиться, что ваше хранилище синхронизировано с вышестоящим хранилищем, прежде чем вы сможете зафиксировать.

Обычный рабочий процесс Git:

  • fetch вверх по течению
  • расскажите свою историю (т.е. исправьте ошибку, улучшите что угодно; сделайте несколько commit с)
  • как только вы закончите, пришло время снова fetch вверх по течению
  • merge или rebase ваши изменения в апстриме
  • push вверх по течению

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

0 голосов
/ 22 марта 2012

Вы хотите избежать перебазирования.Это относится в основном к постоянным филиалам.Тематические ветки могут использовать либо.

Еще одна вещь, которую нужно добавить:

git config --global push.default current

Это гарантирует, что вы нажимаете только текущую ветвь, когда вы запускаете команду push.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...