Когда я использую git stash, я получаю <<<<<<< обновленный апстрим и другие вещи в моих файлах - PullRequest
0 голосов
/ 27 марта 2019

Я использую рабочий стол GitHub и командную строку git (чтобы в основном хранить мой код, когда мне нужно сделать коммит в другой ветке).Я использую git stash save и сохраняю свой код.Затем я обновляю другую ветку и переключаюсь обратно на свою ветку тестирования, которую я обновляю до master.Затем я распаковываю свой код с помощью git stash pop

Это вывод после того, как я запустил git stash pop:

Auto-merging update_registration.php 
CONFLICT (content):
Merge conflict in update_registration.php 
The stash entry is kept in case you need it again.

Но затем я получаю

    <<<<<<< Updated upstream
    //Code and whatnot
    =======
    <<<<<<< Updated upstream

    >>>>>>> Stashed changes

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

Есть идеи?Или я использую git stash неправильно?Я довольно новичок в использовании git.

Спасибо!

1 Ответ

0 голосов
/ 27 марта 2019

Произошло следующее: вы изменили деталь («Обновлен восходящий поток»), когда ваши изменения были сохранены, что также было изменено в сохраненной части («Измененные изменения»).Поэтому при восстановлении сохраненных изменений возник конфликт слияния.

Общий совет: выполняйте разные операции в разных ветвях в разное время или выполняйте разные операции в разных рабочих пространствах одновременно.Так что, если вы реализуете что-то в ветке A и вам нужно сделать что-то другое в проекте, и у вас есть незафиксированные изменения, у вас есть два варианта:

  1. Сделайте это так жерабочая область: Затем выполните git stash, сохраняя ваши незафиксированные изменения, создайте новую ветвь (вероятно, на master) с git checkout -b <new_branch> master или извлеките существующую ветку.Затем попробуйте, внесите изменения и, наконец, вернитесь к своей работе, используя git checkout A и git stash pop.Изменения должны быть применены безоговорочно.

  2. Сделайте это в другом рабочем пространстве: сделайте git clone вашего хранилища в другом каталоге, взломав и пройдя туда.Если вы хотите продолжить работу с другой веткой, просто измените каталоги.

В любом случае вам придется объединить ветки в конце, если вы хотите интегрировать свою работу.Чем лучше вы организуете свою работу, тем чаще вы выбираете вариант 1 из списка выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...