Я только что внес изменения в ветку. Как я могу зафиксировать изменения в другой ветке?
Я пытаюсь использовать:
git checkout "the commmit to the changed branch" -b "the other branch"
Однако я не думаю, что это правильно, потому что в этом случае я создаю новую ветку вместо того, чтобы фиксировать изменения в «другой ветке».
Следует ли мне использовать вместо этого следующую команду?
git merge "the other branch"
Ответы:
git checkout -b your-new-branch
git add <files>
git commit -m <message>
Сначала проверьте свою новую ветку. Затем добавьте все файлы, которые хотите зафиксировать в постановке. Наконец, зафиксируйте все файлы, которые вы только что добавили. Возможно, вы захотите сделать
git push origin your-new-branch
позже, чтобы ваши изменения отображались на пульте дистанционного управления.источник
git status
чтобы увидеть, что в настоящее время поставлено, а что нет.git add
иgit commit -a
?git checkout -b your-new-branch
вместоgit checkout your-new-branch
?Если вы не зафиксировали изменения
Если ваши изменения совместимы с другой веткой
Это случай из вопроса, потому что OP хочет зафиксировать в новой ветке, а также применяется, если ваши изменения совместимы с целевой ветвью, не вызывая перезаписи.
Как и в принятом ответе Джона Броди, вы можете просто проверить новую ветку и зафиксировать работу:
Если ваши изменения несовместимы с другой веткой
Если вы получили сообщение об ошибке:
Затем вы можете спрятать свою работу, создать новую ветку, затем внести изменения в свой тайник и разрешить конфликты:
Все будет так, как если бы вы внесли эти изменения после создания новой ветки. Затем вы можете зафиксировать как обычно:
git add <files> git commit -m "message"
Если вы зафиксировали изменения
Если вы хотите сохранить коммиты в исходной ветке
См. Ответ Карла Норума о сборе вишен, который в данном случае является правильным инструментом:
Если вы не хотите сохранять коммиты в исходной ветке
См. Ответ joeytwiddle на этот потенциальный дубликат . При необходимости выполните любой из вышеуказанных шагов, затем откатите исходную ветку:
Если вы отправили свои изменения на общий удаленный компьютер, например GitHub, вам не следует пытаться выполнить этот откат, если вы не знаете, что делаете.
источник
error: Your local changes to the following files would be overwritten by checkout: ... Please commit your changes or stash them before you switch branches.
Вы хотите написать новый ответ или отредактировать мой ответ?» Если нет, то могу отредактировать сам.Если я правильно понимаю, вы сделали фиксацию
changed_branch
и хотите скопировать ееother_branch
? Легко:источник