Я использую SVN в течение некоторого времени и теперь использую Git в проекте. Я точно не знаю, что делать после того, как разрешил конфликты после выполнения git pull. Кстати, я использую черепаховый GIT.
Таким образом, в большинстве случаев я могу выполнить свои коммиты, а затем получить их, и они автоматически объединятся, и я смогу продолжить отправку. Однако, если есть конфликт, он просит меня решить конфликты. Я делаю это, используя встроенные инструменты для tortoiseGit. Затем он просит меня зафиксировать, и я получаю большой список всех измененных файлов в проекте.
Теперь многие из этих локальных изменений никогда не должны быть зафиксированы... но я прочитал этот блог git: http://randyfay.com/node/89 , а точнее:
Один пользователь Tortoise Git выполнял извлечение, сталкивался с конфликтом слияния, разрешал конфликт слияния, а затем внимательно просматривал свой список файлов, которые должны быть зафиксированы, когда он делал коммит результатов. Там было много файлов, и он знал, что конфликт слияния затронул только пару файлов. Для своей фиксации он снял отметки со всех других изменений файлов, в которых он не участвовал, зафиксировал результаты и отправил фиксацию.
Как мне узнать, какие файлы я должен выбрать и зафиксировать, чтобы теперь испортить состояние репозитория git?
РЕДАКТИРОВАТЬ: Это хорошо подводит итог, что-то, что произошло со мной, мы исправили, но нам нужно понять, как предотвратить в будущем.
Когда несколько человек коммитят... и я втягиваю их работу в свою, по умолчанию происходит автоматическое слияние. Я должен вернуть этот коммит слияния и не испортить его, иначе дела пойдут плохо.
Ситуация, которую я описываю, произошла, когда произошел пулл с его автоматическим слиянием. Большая часть слияний (как это обычно бывает) прошла успешно. Но одно противоречило. Конфликт был разрешен. Но в этом случае разработчик не зафиксировал все остальные вещи (которые были успешно объединены и автоматически добавлены в индекс). Он совершил только то, что решил (что понял). Он не знал, что несет ответственность за все те другие объединенные вещи, которые были успешно объединены и добавлены в его индекс. Такова история этой катастрофы.
function foo(x)
, вы беспокоитесь о том, что вездеfoo(x)
называется, не зная об изменении? Или что разработчик может простоmerge
ошибиться? Теперь это происходит постоянно. я знаю свой код; Я не знаю вашего кода. все равно сливаю. Слить боркед. Добро пожаловать [пользователи, использующие] git. ;^) - person ruffin   schedule 07.08.2012