Как мне объединить мои локальные незафиксированные изменения в другую ветку Git?

Можно ссылаться друг на друга, пока вся ваша строка состоит из ссылочного имени. Например, это будет работать:

<string name="app_name">My App</string>
<string name="activity_title">@string/app_name</string>
<string name="message_title">@string/app_name</string>

Это еще более полезно для установки значений по умолчанию:

<string name="string1">String 1</string>
<string name="string2">String 2</string>
<string name="string3">String 3</string>
<string name="string_default">@string/string1</string>

Теперь вы можете использовать string_default всюду в своем коде, и вы можете легко изменить значение по умолчанию в любое время.

596
задан Peter Mortensen 11 April 2019 в 00:41
поделиться

3 ответа

Так как Ваши файлы еще не фиксируются в branch1:

git stash
git checkout branch2
git stash pop

или

git stash
git checkout branch2
git stash list       # to check the various stash made in different branch
git stash apply x    # to select the right one
<час>

, Как прокомментировано benjohn (см. git stash страница справочника ):

, Чтобы также спрятать в настоящее время неотслеженный (недавно добавленный) файлы, добавьте аргумент -u, таким образом:

git stash -u
871
ответ дан Community 11 April 2019 в 10:41
поделиться
  • 1
    Обратите внимание, что это может перестать работать в зависимости от того, какой /dev/fd/2 точно. Например, если Вы входите в систему как root, Ваш терминал принадлежит root. Затем при переключении пользователя у Вас не будет разрешения получить доступ /dev/fd/2. – Michał Górny 6 September 2013 в 10:01

Прячущие, временные фиксации и перебазирование могут все быть излишеством. Если Вы не добавили измененные файлы к индексу, еще, то Вы можете только к контролю другое ответвление.

git checkout branch2

Это будет работать, пока никакие файлы, которые Вы редактируете, не отличаются между branch1 и branch2. Это оставит Вас на branch2 с Вами работающий изменения сохраненный. Если они отличаются затем, можно указать, что хотите объединить свои локальные изменения с изменениями, представленными путем переключения ответвлений с -m опция к контролю.

git checkout -m branch2

, Если Вы добавили изменения в индексе затем, Вы захотите отменить эти изменения со сбросом сначала. (Это сохранит Вашу рабочую копию, она просто удалит подготовленные изменения.)

git reset
84
ответ дан CB Bailey 11 April 2019 в 10:41
поделиться

Если бы это было о зафиксированных изменениях, то необходимо взглянуть на переоснову мерзавца, но, как указано в комментарии VonC, поскольку Вы говорите о локальных изменениях, притон мерзавца, конечно, был бы хорошим способом сделать это.

2
ответ дан claf 11 April 2019 в 10:41
поделиться
  • 1
    Это допустимо и ответ гения. Я ожидаю для окончания этих 2 минимальных ограничений для принятия этого ответа lolz:) – aslamdoctor 27 July 2012 в 11:55
Другие вопросы по тегам:

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