Как взять файл из нужной ветки?

Такой вопрос, есть 2 ветки

1 - в которой лежит 2 файла А и Б 2 - в которой 3 файла А Б и С, но файл Б изменен (бинарный файл)

Теперь когда я делаю мердж между ними, то как результат мержда я вижу, что все прошло без конфликтов и файл Б edited

Мне нужно как то сделать мержд, но, не нужно принимать изменения. То есть я стоя на ветке 1 делаю мердж с веткой 2 и в результате хочу чтоб получилось файл А из ветки 1, Б тоже из ветки 1 не смотря на то, что в ветке 2 он был изменен и файл С из ветки 2.

Как это сделать?

Можно как то сделать мердж вручную, чтоб выбрать вот это возьми тут, а вот это тут?


Ответы (1 шт):

Автор решения: aleksandr barakin

Мне нужно как то сделать мержд, но, не нужно принимать изменения.

$ git merge --no-commit --no-ff ветка2
Automatic merge went well; stopped before committing as requested

смотрим статус:

$ git status
On branch ветка1
Your branch is up to date with 'origin/ветка1'.

All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

    modified:   b
    new file:   c

Б тоже из ветки 1 не смотря на то, что в ветке 2 он был изменен

$ git reset HEAD -- b
$ git checkout -- b

смотрим статус:

$ git status
On branch ветка1
Your branch is up to date with 'origin/ветка1'.

All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

    new file:   c

всё как надо, завершаем слияние:

$ git commit

финиш. файлы именно в том виде, как требовалось:

файл А из ветки 1, Б тоже из ветки 1 не смотря на то, что в ветке 2 он был изменен и файл С из ветки 2

→ Ссылка