Выберите одно происхождение как каноническое для слияния с git - PullRequest
0 голосов
/ 30 ноября 2010

У меня есть файл, который был изменен в двух разных репозиториях и слит в моем локальном репозитории после извлечения. Я знаю, что одно из репозиториев является актуальной версией, которую я хочу, и не хочу объединенную версию файла. Как я могу сказать git, после того, как слияние уже применено к локальной версии, использовать одну версию или другую?

1 Ответ

2 голосов
/ 30 ноября 2010

Remotes - это просто способ для git получать коммиты откуда-то.Именно коммиты влияют на то, какую версию контента вы видите;не имеет значения, откуда они пришли.

Выбор версии файла как "канонической" просто означает, что необходимо убедиться, что это версия файла, которая находится в каноническом хранилище.В результате вы, вероятно, захотите сделать это в своем локальном репозитории:

# make sure that origin is the canonical remote
# rename the other one to something else!

# make sure you're up to date
git fetch origin
# check out the desired version of the file
git checkout origin/master path/to/file
# and commit this modification
git commit

Это также можно сделать как часть извлечения из источника:

# pull from the default remote/branch, hopefully origin/master
git pull --no-commit
# get "their" (origin's) version
git checkout --theirs path/to/file
# commit the merge
git commit

* 1009Опция * указывает git остановиться перед совершением слияния, которое является частью извлечения, так что вы сможете изменить результат слияния, а затем зафиксировать его.Если есть конфликты (которые могут быть вероятны в вашем случае), он все равно остановился бы, чтобы вы разрешили их.

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