Как действительно удалить коммит на VSTS / Azure -devops - PullRequest
0 голосов
/ 21 января 2020

Я работаю над VS 2017, и у нас есть облако VSTS / Azure -devops.

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

Теперь я вижу оба коммита на веб-сайте VSTS / portail.

Дело в том, что мне нужно создать ЗАПРОС ПУСКА, и когда я пытаюсь создать запрос на получение, я обнаружил, что в запросе на получение доступа есть первый файл коммита ... который мне не нужен.

Так что мне просто нужно удалить первый сделанный коммит, и создайте запрос на получение второго чистого коммита. Как мне go? потому что я искал и не мог найти четкое объяснение, как это сделать?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

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

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

Здесь, в вашем случае, я предлагаю использовать опцию возврата, которая позволяет вам получить sh новый коммит, который отменяет изменение указанного c предыдущего коммита.

В VS> Team Explorer (справа)> Ветви> щелкните правой кнопкой мыши целевую ветку> просмотреть историю. это откроет новое окно против списка со списком совершенных изменений

щелкните правой кнопкой мыши на коммите, который вы хотите отменить> выберите возврат

, затем pu sh отмененный коммит

0 голосов
/ 22 января 2020

Вы можете попробовать следующие шаги, чтобы удалить весь коммит:

  1. Git клонировать специфицированную ветку c в локальный репозиторий:

    git clone --single-branch --branch branchname https://xxx@dev.azure.com/xxx/0508-t/_git/0508-t

  2. Получите SHA коммита, который вы хотите удалить:

    Перейдите на страницу https://dev.azure.com/{organization}/_git/{Project}/commits -> Выберите значение c commit -> Click More -> Copy Full SHA . (См. Ниже sceenshot)

  3. Запустите эту команду в git bash, чтобы удалить фиксацию в локальном репозитории:

    git rebase -p --onto SHA^ SHA

    Просто замените « SHA » на ссылку, от которой вы хотите избавиться (ту, которую вы получили на шаге 2). «^» В этой команде буквально. Например:

    git rebase -p --onto 7e5661e7545013145dc7569edbe7c99f4b8d9671^ 7e5661e7545013145dc7569edbe7c99f4b8d9671

  4. Force git pu sh в исходное положение:

    git push origin +test

Обратите внимание на знак + перед названием ветви, которую вы нажимаете, это говорит git, чтобы заставить pu sh. Стоит отметить, что вы должны быть очень осторожны при удалении коммитов, потому что как только вы это сделаете, они исчезнут навсегда. Кроме того, если вы удаляете что-то из удаленного репозитория, убедитесь, что вы координируете свою работу с командой, чтобы предотвратить проблемы.

enter image description here

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