Оба Martinho Fernandes и tialaramex ответы правильно описывают, что вам нужно сделать. Позвольте мне описать почему так оно и есть.
1012 * Subversion *
Subversion является централизованной системой контроля версий. Это означает, что он работает в режиме клиент-сервер: сервер хранит все данные о версии (хранилище), клиент имеет только рабочий каталог (файлы) плюс некоторые административные и вспомогательные данные. Это означает, что для большинства команд клиент должен связаться с сервером. Это также означает, что существует много команд, запрашивающих состояние хранилища на сервере или конфигурацию сервера, например «svn status --show-updates
».
(Sidenote: одни вспомогательные данные, которые Subversion хранит на клиенте, являются «нетронутой» версией файлов, что означает, что для проверки изменений, которые вы сделали, не требуется подключаться к серверу (что медленно) ... но это также означает, что извлечение SVN может быть больше, чем в Git).
«svn update» (требуется перед фиксацией, если в репозитории есть какие-либо изменения в данной ветке) загружает последнюю версию с удаленного и объединяет (пытается объединить) изменения, которые вы сделали с изменениями с удаленного. ИМХО, этот рабочий процесс обновления перед фиксацией не очень проводящий.
Гит
Git - это распределенная система контроля версий. Это означает, что он работает по принципу peer-to-peer: каждый «клиент» имеет все данные о версиях (полный репозиторий). Центральный репозиторий является центральным только из-за социальных соглашений, а не технических ограничений. Это означает, что при обращении в другое удаленное хранилище количество команд, «выполненных удаленно», очень мало. Вы можете запросить ссылки (главы или ветки и теги) с помощью «git ls-remote» (и «git update show»), вы можете получить (получить) или отправить (опубликовать) данные с помощью «git fetch» (или «git»). удаленное обновление ") /" git push ", и если сервер настроен на это, вы можете получить снимок состояния удаленного хранилища с помощью" git archive --remote ".
Таким образом, чтобы проверить коммиты, которые находятся в удаленном репозитории, но отсутствуют в вашем репозитории, вы должны загрузить данные на свой компьютер. Но на самом деле «git pull» - это не что иное, как «git fetch», который загружает данные, и «git merge», который их объединяет (с небольшим количеством сахара для подготовки сообщений коммита и выбора ветви для слияния). Затем вы можете использовать «git fetch» (или «git remote update»), изучить вновь внесенные коммиты с помощью «git log» и «gitk» (не ограничиваясь фиксированным выводом), а затем, если все в порядке, объединить изменения с помощью « git merge ".
Это относится не только к Git, но и ко всем распределенным системам управления версиями, хотя способ представления извлеченных SCM извлеченных, но необработанных данных может отличаться (Git использует ветви удаленного отслеживания в пространстве имен 'remote / / *', Mercurial from что я понимаю, использует неназванные головы).
НТН