Як видалити незапущену вихідну комісію у Visual Studio?


114

Я випадково переніс поетапну зміну нової гілки в Visual Studio 2017 до свого місцевого сховища. Його не було перенесено у віддалений сховище. Я хочу позбутися цього, але не можу знайти спосіб це зробити. Я перейшов з місцевого головного відділення на новий. Потім я видалив нову гілку. Але вихідні комітети все-таки це показують. Як її видалити чи відновити?

введіть тут опис зображення


Дякую за це запитання, у мене було те саме питання
Імран Різві

Відповіді:


178

Відкрийте вкладку "Історія" в провіднику Team на плитці "Відділення" (клацніть правою кнопкою миші свою гілку). Потім в історії правою клавішею миші виконайте команду перед тією, яку ви не хочете натискати, виберіть Скинути. Це перемістить гілку назад до цього зобов’язання і має позбутися зайвих зобов’язань, які ви зробили. Для того, щоб скинутись перед заданою комісією, вам слід вибрати її батьківську.

Залежно від того, що ви хочете зробити зі змінами, вибирайте важко , що позбудеться їх локально. Або виберіть " м'який", який скасує виконання комісії, але залишить ваш робочий каталог зі змінами у відміненій комісії.


22
Варто вкласти жирною частиною, де ** ви повинні вибрати RESET на БАСЬКОМУ зіпсованого комітету ** - химерно VS2017, одразу після виконання зобов’язання пропонує вам параметр меню, який здійснює скидання, націлене на коміт Ви щойно зробили (без операції) - я витратив кілька хвилин, поки я не знайшов вашу посаду і зрозумів, що мені слід було скинути [Для] батьківської фіксації .. Параметр меню "Скидання" трохи сформульовано погано - звучить так скинути певний коміт == маючи на увазі, він повинен бути використаний для цього коміту. Якби це було Reset To I думаю, я б зрозумів це швидше
Caius Jard

1
(@JH) Дякую за відповідь. .. atCJ Дякую за коментар. atJH Дякую вам за сміливість цієї частини ... atEverybody .... це частина, на яку я застряг .... і я маю на увазі приклеєний. #freedom
granadaCoder

Іменування відповідає тому, як git викликає команду. Якщо ви відредагували файли, вони також будуть скинуті. Якщо ви інсценували файли, вони також будуть скинуті. Ось чому також є скидання на останнє зобов’язання. Це скидає цю комісію.
jessehouwing

1
Корисно знати. Дякую за відповідь
Роб C

Дякую за багато Helpssss
Ashish

70

Я не зміг знайти жодної хорошої відповіді, яка допомогла б мені позбутися цього питання.

Скажімо, назва філії, яку ви випадково внесли зміни, - master. Наступні чотири прості кроки для мене зарекомендували себе як світ:

  1. Перейдіть до Відділення
  2. Виберіть або створіть будь-яку галузь, крім master
  3. Видалити локальну / робочу версію master
  4. Перейти до майстра з remotes/origin

5
Це відповідь, яка працює, вам не доведеться натискати наrevert
sojim

2
це працює, але ви застрягли, коли вам потрібно лише деякі (не всі) конкретні комісії з вихідних комітетів.
KatariaA

1
Щойно отримав пару ансамблів. Коментарі були б чудовими.
Легіон Хаосу

1
Працює. Чисте, швидке та просте рішення.
Том Том

2
OMG ДЯКУЄМО ВАМ! Ніколи не знадобилося 45 хвилин, щоб скасувати зміни, до сьогоднішнього дня. Ваш коментар економить день.
PBJ

3

Якщо припустити, що ви пересунули останні зміни на сервері:

  1. Закрийте Visual Studio і видаліть локальну копію проекту
  2. Відкрийте Visual Studio, перейдіть на вкладку Team Explorer і натисніть Керувати з'єднаннями. (вилка)
  3. Клацніть стрілку спадного меню біля пункту Керування підключеннями та підключення до проекту
  4. Виберіть проект, підтвердьте місцевий шлях та натисніть кнопку Підключити.

Після повторного відкриття проекту і комітів, і змін має бути нульовим.


2

TL; DR:

Використовуйте git reset --soft HEAD~у cmd із папки .sln


Я зіткнувся з цим сьогодні і був переповнений, що VSCodeговорить про таке, тоді як це великий брат Visual Studioне робить.

Більшість відповідей були корисними; якщо у мене буде більше домовленостей, які були зроблені раніше, втрата їх усіх буде неприємною. Більше того, якщо VSCodeце зробиться за півсекунди, це не повинно бути складним.

Лише відповідь Джессіувінг була найближчою до простого рішення.


Припускаючи, що небажане (-ла) зобов'язання (-ів) було останнім, ось що я вирішив:

Перейдіть до Team Explorer-> Sync. Там ви побачите всі документи. Натисніть Actionsспадне меню таOpen Command Prompt

Приклад, що вирішується небажано-виконувати

Вам буде запропоновано вікно cmd, там напишіть git reset --soft HEAD~. Якщо є кілька небажаних комісій, додайте суму після ~(тобто git reset --soft HEAD~5)


(Якщо ви не використовуєте git, перевірте розмовне використання).

Я сподіваюся, що це допоможе, і, сподіваємось, у наступній версії команда VS додасть його вбудованому


0

Перейдіть на вкладку «Провідник команди» та натисніть «Гілки». У філіях виберіть свою філію від віддалених / походження. Наприклад, ви хочете скинути свою головну гілку. Клацніть правою кнопкою миші на головній гілці у віддаленому / початковому, потім виберіть Скидання та натисніть Видалити зміни. Це скине локальну філію та видалить усі місцеві зміни.


0

Спробуйте переставити місцеву головну гілку на віддалену / основну гілку та вирішити будь-які конфлікти в процесі.


-1

Тут у вас є два варіанти зробити це - або відмовитись від усіх своїх вихідних зобов’язань АБО, щоб скасувати певні зобов'язання.

1- Відмовтеся від усіх своїх вихідних зобов’язань:

Щоб скасувати всі вихідні зобов’язання Наприклад, якщо у вас є місцева гілка з ім'ям master з віддаленої гілки, ви можете:

1- Перейменуйте свою локальну гілку від головного до будь-чого, щоб ви могли її видалити. 2- Видаліть перейменовану гілку. 3- створити нову гілку від майстра

Отже, у вас є нова філія без ваших зобов'язань.

2- Скасувати конкретну комісію: Щоб скасувати певну комісію, потрібно скасувати непотрібне:

1- Двічі клацніть на непотрібному фіксації. Двічі клацніть на непотрібній фіксації 2. Клацніть на повернути. Клацніть на повернути

Але FYI повернене зобов’язання з’явиться в історії ваших комітетів із поверненням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.