Как сделать простое слияние? - PullRequest
0 голосов
/ 15 декабря 2009

Я хочу получить file_3 путем слияния file_1 и file_2

Если необходимо ручное слияние, можно использовать текстовый редактор или инструменты слияния, желательно, чтобы file_3 был в формате git merge.

file_1 в git, но как с git, так и без него, слияние хорошо

Я в Linux.

Ответы [ 3 ]

1 голос
/ 15 декабря 2009

Если вы используете git, вы можете:

(Предположим, что ветвь master содержит file1)

  • создать новую ветку, git co -b 0001-merging-one-file
  • переписать file1 в этой ветке с помощью file2, с помощью редактора или любым другим способом.
  • Мастер проверки снова, git co master
  • объединить вашу «временную ветвь» с мастером, git pull . 0001-merging-one-file
  • без шага 5;)
0 голосов
/ 16 декабря 2009

Для трёхстороннего слияния используется git ТРИ версии файла: "наша" версия, "их" версия, то есть версии, которые вы хотите объединить, но вам также нужна "общая" версия то есть версия файла, которая была общим источником для "нашей" и "их" версии; для Git это будет версия из базы слияния текущей ветви и ветви, которую вы объединяете.

Алгоритм и способ помечать конфликты слиянием, которые использует Git, почти такой же, как тот, который используется инструментом rcsmerge из RCS (давно Git требовал установки rcsmerge), и diff3 -E. Вы можете запустить его вручную, используя команду низкого уровня (сантехника) git merge-file.

0 голосов
/ 15 декабря 2009
cat file1 file2 > merged_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...