Мерзавец: Объединитесь с ведущим устройством при автоматическом желании перезаписать основные файлы с ответвлением

Я соглашаюсь, что это парадоксально сначала, но существует серьезное основание. Соединение не может быть методом списка потому что:

  • это должно работать на другой iterables также (кортежи, генераторы, и т.д.)
  • это должно иметь другое поведение между различными типами строк.

существует на самом деле два метода соединения (Python 3.0):

>>> b"".join
<built-in method join of bytes object at 0x00A46800>
>>> "".join
<built-in method join of str object at 0x00A28D40>

, Если бы соединение было методом списка, то оно должно было бы осмотреть свои аргументы для решения который из них звонить. И Вы не можете присоединиться к байту и ул. вместе, таким образом, способ, которым у них есть он теперь, имеет смысл.

42
задан Mica 18 August 2009 в 16:54
поделиться

3 ответа

Чтобы игнорировать master , когда у вас есть ветка , тогда:

git merge master --strategy=ours

http://schacon.github.com/git/git -merge.html

Как здесь прокомментировал «Компьютерный лингвист», это будет «игнорировать все, начиная с« master », даже если в нем есть изменения в новых, независимых файлах». Так что, если вы не ОП и хотите более безопасное слияние, которое не происходит, как сказано в ОП, «забудьте о слиянии», тогда используйте эту отличную безопасную команду от «Computer Linguist» и добавьте его комментарий, чтобы он получил доверие.

git merge -s recursive -X theirs branch
58
ответ дан 26 November 2019 в 23:45
поделиться

Я считаю, что вы можете сделать это с помощью стратегии слияния «наша»:

git checkout branch
git merge -s ours master

Но это не совсем то, что вам нужно: оно отменяет содержимое текущего ] рабочая ветка ветка , и вы хотите получить то же содержимое на master . Что вам действительно нужно, так это стратегия слияния их , и для этого я указываю вам на этот аналогичный вопрос , чтобы узнать, как это сделать. На практике все сводится к сбросу мастера , чтобы он указывал на ветвь .

2
ответ дан 26 November 2019 в 23:45
поделиться

В версии 1.7.1 Git вы можете использовать «-Xtheirs» для слияния в самой ветке.

Например, если вы начинаете в своей основной ветке, начиная с мастера

git checkout -b editBranch
- редактировать свои файлы -
git add.
git commit -m "Обновил файлы"
мастер проверки git
git merge -Xtheirs editBranch

Я видел еще один способ сделать это, основываясь на этой публикации , - это выполнить полный сброс EditBranch. Например:

git checkout -b editBranch
- редактировать свои файлы -
git add.
git commit -m "Обновил файлы"
мастер проверки git
git reset --hard editBranch

Я думаю, что этот второй способ может быть лучше, но у меня еще не было возможности поиграть с ним достаточно.

15
ответ дан 26 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: