Замовлення git Eclipse (ака, повернути)


139

Чи можливо зробити еквівалент git checkoutзсередини Eclipse, використовуючи плагін EGit?

У мене файл, який було змінено. Я хочу скасувати зміни та повернути файл до того, що знаходиться у вихідному сховищі. У Subversion це називається поверненням. У git еквівалент - замовлення.

Я не можу знайти жодного пункту меню в команді, який виглядає як оформлення замовлення або повернення. Я використовую EGit 0.6.0.


6
git смокче! Він не покаже вам, що ви збираєтеся повернути, перш ніж відновити його. Subversion надасть вам гарне вікно підтвердження із переліком файлів, які ви збираєтеся відновити. Таким чином, ви можете вибрати, які з них потрібно повернути або скасувати на місці. Ганьба над супер потужним git.
JohnPristine

5
@JohnPristine Плагін Eclipse git (egit) - це той, який відображатиме вікно підтвердження, а не сам git.
Бред Купіт

Клацніть правою кнопкою миші файл, який потрібно відновити, а потім виберіть "Перезаписати". І я згоден, Гіт смокче.
DhafirNz

У 2016 році eGit версії 4.5.0 я не бачу "Перезаписати". Здається, зараз це "Замінити на ..." "Перегляд голови"
Ed Randall

Відповіді:


274

Це можна зробити за допомогою контекстного меню «Замінити на / файл у індексі Git» у файлі у вигляді подання пакета.


5
Що робити, якщо файл не існує в робочій області (ще / більше)?
zedoo

@zedoo Якщо файл не існує, відкрийте подання "Git Staging", клацніть правою кнопкою миші видалений файл у списку "Ненаписані зміни" та виберіть "Замінити
редакцією

42

Ви можете досягти цього, зробивши (жорсткий) скидання. У контекстному меню проекту виберіть команду> Скинути до ..., виберіть "HEAD" та "Hard" як тип скидання.

Зверніть увагу, що цим чином ви втратите зміни ВСІХ файлів. Щоб повернути лише один файл, дивіться цю відповідь .


Щойно я з’ясував важкий спосіб, що виконувати також те саме - виконує ВСІ файли, а не лише вибраний файл
Стів Куо

Правильно, але принаймні ви можете скасувати вибір файлів у діалоговому вікні фіксації ... Btw: я подав помилку для скидання помилок.eclipse.org/bugs/show_bug.cgi?id=295423
simon

5
Підтримка Git в Eclipse дійсно поступається CVS та SVN через це! Функція CVS "Замінити на останню від HEAD" для мене дуже важлива.
косоант

@kosoant Eclipse може це зробити і з Git. Дивіться цю відповідь
Брад Купіт

3
Він чітко запитує про повернення одного файлу, не всіх.
Зофрен

18

у версії Eclipse: 3.7.0

у розділі "Командна перспектива синхронізації" -> клацніть правою кнопкою миші на файл / папку в режимі синхронізації -> перезаписати


це було одним із найпростіших у виконанні. Це спливаюче вікно, щоб підтвердити, що ви хочете змінити локальні зміни.
Karidrgn

Це видалило нові файли, нестандартні зміни, що саме мені і потрібно.
Кату

12

Ще одна можливість використання перегляду Git Staging :

  • Відкрийте подання Git Staging , натиснувши Ctrl + 3 або Command + 3 та ввівши
    staging
  • Якщо у представництві вже не відображається ваш сховище, натисніть на проект чи файл
  • Тепер ви повинні побачити файли, які ви модифікували, у розділі " Без змін "
  • Двічі клацніть на файлі, який не розміщений,
  • Тепер ви бачите порівняння з версією зліва та версією до змін праворуч

Тепер, щоб скасувати лише деякі зміни у файлі, виконайте наступне:

  • У поданні порівняння виберіть одну зі змінених ліній
  • Виберіть пункт Копіювати поточну зміну справа наліво на панелі інструментів

Це зробить ліву сторону відповідною правою для цієї зміни. Збережіть файл, щоб закінчити скасування.

Щоб скасувати всі ваші зміни:

  • У режимі постановки миші клацніть правою кнопкою миші на файл, який не розміщений
  • Виберіть Замінити файлом у індексі Git

Ви також можете вибрати кілька нестандартних файлів і натиснути правою кнопкою миші.


Цікаво, чому ця відповідь отримала так менше голосів. Я б вважав за краще це відзначити; Ніколи б не зрозумів себе. Дякуємо @robinst
HarsH

11

Відновіть один файл, перейшовши у вікно> Показати перегляд> інше> стадія Git> незмінені зміни

Виберіть файл (и), який потрібно відновити. Клацніть правою кнопкою миші та виберіть Замінити версію HEAD

Зауважте, що цей крок не можна скасувати.

(Я використовую Eclipse Version: 3.7.2 Egit версія 2.3.1.201302201838-r)


7

Для повернення можна клацнути правою кнопкою миші потрібний файл / каталог, а потім вибрати Замінити на -> HEAD версія


Чи стосується будь-якого плагіна Git у програмі Eclipse? Це добре працювало з Egit.
johnnieb

ОНОВЛЕННЯ: У Eclipse Mars та Luna SR2 (побудований у Git) це працювало так.
Маг

4

Відкрити синхронізацію команди. Знайдіть файл і клацніть правою кнопкою миші -> Записати.

ОНОВЛЕННЯ

У програмі Eclipse Luna (4.4.2) Відкрита синхронізація команди. Знайдіть файл і клацніть правою кнопкою миші -> "Повернути ..."


3

Функціонал насправді є, але це може бути неочевидним:

  • Переконайтеся, що Quickdiff увімкнено з переглядом git, а базовий рівень quickdiff - HEAD (це за замовчуванням).
  • Відкрийте файл, який потрібно відновити.
  • Вибрати все (Ctrl-A)
  • Клацніть правою кнопкою миші на панелі швидкого набору
  • Виберіть "Скасувати вибір"
  • Зберегти

btw, повернути в git lingo означає створити нове зобов’язання, щоб повернути попереднє виконання.


Для роботи з quickdiff ось швидке вступ: wiki.eclipse.org/EGit/User_Guide/State#Quickdiff
Валентин

1

Щоб повернути весь файл до даних сховища:

Клацніть папку, яку ви хочете зробити, і перейдіть до GitStaging введіть тут опис зображення

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