Я случайно отправил поэтапное изменение в новой ветке Visual Studio 2017 в свой локальный репозиторий. Он не был отправлен в удаленный репозиторий. Я хочу избавиться от этого, но не могу найти способ сделать это. Я перебрался с локальной основной ветки на новую. Потом удалил новую ветку. Но Outgoing Commits все еще показывает это. Как удалить или вернуть обратно?
git
visual-studio
visual-studio-2017
Тони Генрих
источник
источник
Ответы:
Откройте вкладку истории в Team Explorer с плитки «Филиалы» (щелкните правой кнопкой мыши свою ветку). Затем в истории щелкните правой кнопкой мыши фиксацию перед той, которую вы не хотите отправлять, и выберите «Сброс». Это вернет ветку к этому коммиту и избавит от лишнего коммита, который вы сделали. Таким образом, чтобы выполнить сброс перед заданной фиксацией, вы должны выбрать его родителя.
В зависимости от того, что вы хотите сделать с изменениями, выберите жесткий , чтобы избавиться от них локально. Или выберите soft, который отменит фиксацию, но оставит ваш рабочий каталог с изменениями в вашей отмененной фиксации.
источник
Я не смог найти ни одного хорошего ответа, который помог бы мне избавиться от этой проблемы.
Допустим, имя ветки, в которой вы случайно зафиксировали изменения, -
master
. Четыре простых шага оказались для меня целым миром:master
master
remotes/origin
источник
revert
TL; DR:
Используйте
git reset --soft HEAD~
в cmd из папки .slnЯ столкнулся с этим сегодня и был поражен тем, что это
VSCode
предполагает такое, в то время как его старший братVisual Studio
- нет.Большинство ответов были полезными; если у меня будет больше коммитов, которые были сделаны раньше, потерять их все было бы неприятно. Более того, если
VSCode
это сделать за полсекунды, это не должно быть сложным.Только ответ jessehouwing был наиболее близок к простому решению.
Предполагая, что нежелательная фиксация (-ы) произошла последней, вот как я ее решил:
Перейти к
Team Explorer
->Sync
. Там вы увидите все коммиты. НажмитеActions
раскрывающийся список иOpen Command Prompt
Вам будет предложено окно cmd, там напишите
git reset --soft HEAD~
. Если есть несколько нежелательных коммитов, добавьте сумму после~
(т.е.git reset --soft HEAD~5
)(Если вы не используете
git
, проверьте разговорный язык).Надеюсь, это поможет, и, надеюсь, в следующей версии команда VS добавит его встроенным
источник
Предполагая, что вы отправили на сервер самые последние изменения:
После повторного открытия проекта количество коммитов и изменений должно быть нулевым.
источник
Перейдите на вкладку Team Explorer и нажмите Ветви. В ветках выберите свою ветку из пультов дистанционного управления / происхождения. Например, вы хотите сбросить главную ветку. Щелкните правой кнопкой мыши основную ветку в remotes / origin, затем выберите «Сброс», затем нажмите «Удалить изменения». Это сбросит вашу локальную ветку и удалит все локально зафиксированные изменения.
источник
Попробуйте переустановить локальную главную ветку на удаленную / исходную главную ветку и разрешить любые конфликты в процессе.
источник
Здесь у вас есть 2 варианта: либо отменить все исходящие коммиты, либо отменить конкретный коммит.
1- Отменить все исходящие коммиты:
Чтобы отменить все исходящие коммиты Например, если у вас есть локальная ветка с именем master из удаленной ветки, вы можете:
1- Переименуйте локальную ветку с master на что угодно, чтобы вы могли ее удалить. 2- Удалите переименованную ветку. 3- создать новую ветку от мастера
Итак, теперь у вас есть новая ветка без ваших коммитов ..
2- Отменить конкретную фиксацию: чтобы отменить конкретную фиксацию, вы должны отменить ненужное:
1- Дважды щелкните ненужную фиксацию. Дважды щелкните ненужную фиксацию 2- Нажмите «Вернуть» Нажмите «Вернуть»
Но, к вашему сведению, отмененная фиксация появится в истории ваших коммитов вместе с откатной фиксацией.
источник