Git: Могу ли я переместить \ объединить изменения из ветви в ветку? - PullRequest
0 голосов
/ 30 октября 2019

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

Иногда я забываю создать ветку компонентов и начинаю вносить изменения в основную ветвь.

Я все еще не фиксировалэти изменения.

Что я обычно делаю, чтобы сохранить изменения в стороне, отменить, создать новый FB и объединить изменения.

Есть ли более элегантный способ решения этой ситуации?

Если это тоже актуально, я работаю с InteliJ, но приветствуются также и линейные решения cmd.

Ответы [ 4 ]

2 голосов
/ 30 октября 2019

Лучше всего было бы выполнить следующие команды.

Переключите на вашу ветвь функции или создайте и переключите на нее, если ветвь не существует.

git checkout -b feature-branch

Если вы хотитечтобы сохранить изменения в вашей ветке функций, чтобы она принадлежала ей:

git add . # Stage the file for commit to your local repository.
git commit -m "Add comment" # Commit the file that you've staged in your local repository.
git push origin feature-branch # Push the changes in your local repository to GitHub.

Чтобы очистить ветку, если вы не хотите сохранять изменения, которые вы не зафиксировали, вы можете использовать следующую команду.

git reset --hard HEAD

Он удалит все изменения в вашем рабочем дереве, чтобы ваши текущие файлы соответствовали содержимому HEAD.

1 голос
/ 30 октября 2019

Когда это происходит, если не проблема указать ревизию на более раннюю ревизию (что может быть проблемой, если вы уже нажали ветку dev), вы можете сделать это:

git checkout -b my-feature-branch # create feature branch right where I am right now
git branch -f dev HEAD~10 # set dev 10 revisions behind.... you could also use a revision ID instead of HEAD~x

И это все.

0 голосов
/ 30 октября 2019

Для хранения изменений: git stash . Для unstash: git stash pop

0 голосов
/ 30 октября 2019

Если вы еще не сделали никаких коммитов, то все, что вам нужно сделать, это создать новую ветку в вашем текущем местоположении:

git checkout -b feature-branch

Команда git checkout -b создает новую ветку в вашем текущем местоположении(который будет для вас вершиной главной ветки) и проверяет эту ветку (это означает, что в этой ветке будут новые коммиты.) Ваше рабочее дерево остается неизменным. Обратите внимание, что незафиксированные изменения еще не принадлежат ни одной ветви. Вы можете продолжить работу над своей функцией и выполнить фиксацию, когда будете готовы.

Нет необходимости копировать свои изменения где-либо еще, а также очищать рабочий вал с помощью git stash или git reset --hard и копировать / объединять свои изменения обратно.

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