Eclipse Git Checkout (иначе, вернуть)

133

Можно ли сделать эквивалент git checkout из Eclipse с помощью плагина EGit?

У меня есть файл, который был изменен. Я хочу отменить изменения и вернуть файл обратно в исходный репозиторий. В Subversion это называется revert. В git эквивалент - это проверка.

Я не могу найти какой-либо элемент меню под командой, который выглядит как проверка или возврат. Я использую EGit 0.6.0.

  • 6
    мерзавец отстой! Он не покажет вам, что вы собираетесь вернуть, прежде чем вы вернете это. Subversion предоставит вам хорошее окно подтверждения со списком файлов, которые вы собираетесь вернуть. Таким образом, вы можете выбрать, какие из них вы хотите отменить или отменить на месте. Позор на супер мощный мерзавец.
  • 4
    @JohnPristine Плагин Eclipse git (egit) - это тот, который отображает окно подтверждения, а не сам git.
Показать ещё 2 комментария
Теги:
eclipse-plugin
egit

9 ответов

249
Лучший ответ

Это можно сделать через контекстное меню "Заменить с/Файл в Git index" в файле в представлении пакета.

  • 5
    Что, если файл не существует в рабочей области (пока / больше)?
  • 0
    @zedoo Если файл не существует, откройте представление «Git Staging», щелкните правой кнопкой мыши удаленный файл в списке «Unstaged Changes» и выберите «Replace with HEAD Revision»
43

Вы можете добиться этого, выполнив (жесткий) reset. В контекстном меню проекта выберите команду "Команда" > Reset, чтобы..., выберите "HEAD" и "Hard" в качестве типа Reset.

Обратите внимание, что при этом вы потеряете изменения ВСЕХ файлов. Чтобы вернуть только один файл, см. этот ответ.

  • 0
    Я только что узнал, что с помощью commit также происходит то же самое - фиксирует ВСЕ файлы, а не только выбранный файл.
  • 0
    Правильно, но по крайней мере вы можете отменить выбор файлов в диалоговом окне фиксации ... Кстати: я подал ошибку для сброса bugs.eclipse.org/bugs/show_bug.cgi?id=295423
Показать ещё 3 комментария
16

в Eclipse Версия: 3.7.0

в "Командная синхронизация перспективы" → щелкните правой кнопкой мыши файл/папку в режиме синхронизации → перезаписать

  • 0
    это было одним из самых простых для выполнения. Это делает всплывающее окно, чтобы подтвердить, что вы хотите отменить свои локальные изменения.
12

Другая возможность - это Git Предварительный просмотр:

  • Откройте Git Просматривающий просмотр, нажав Ctrl + 3 или Command + 3 и набрав
    staging
  • Если представление еще не показывает ваш репозиторий, щелкните по проекту или файлу
  • Теперь вы должны увидеть файлы, измененные в разделе "Невероятные изменения"
  • Дважды щелкните по неустановленному файлу
  • Теперь вы видите сравнение с версией слева и версией до изменений справа.

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

  • В окне сравнения выберите одну из ваших измененных строк.
  • Выберите пункт "Копировать текущее изменение справа налево"

Это приведет к тому, что левая сторона будет соответствовать правой стороне для этого изменения. Сохраните файл, чтобы завершить отмену.

Чтобы отменить все ваши изменения:

  • В промежуточном представлении щелкните правой кнопкой мыши по неустановленному файлу
  • Выберите "Заменить с файлом" в Git Index

Вы также можете выбрать несколько некорректных файлов, а затем щелкнуть правой кнопкой мыши.

  • 0
    Интересно, почему этот ответ получил меньше голосов. Я бы предпочел отметить это лучше всего; никогда бы не понял себя. Спасибо @robinst
9

Вернуть один файл, перейдя в Окно > Показать вид > Другое > Git Стадия > Неустановленные изменения

Выберите файл (ы), который вы хотите вернуть. Щелкните правой кнопкой мыши и выберите Заменить с ревизией HEAD

Обратите внимание, что этот шаг нельзя отменить.

(Я использую Eclipse Version: 3.7.2 Egit version 2.3.1.201302201838-r)

6

Чтобы вернуться, вы можете щелкнуть правой кнопкой мыши по файлу/директории, который вы хотите, затем выберите Заменить с версией HEAD

  • 0
    Применяется ли к любому плагину Git в Eclipse? С Egit все работало нормально.
  • 0
    ОБНОВЛЕНИЕ: В Eclipse Mars и Luna SR2 (встроенный Git) это работало так.
4

Open Team Synchronizing. Найдите файл и щелкните правой кнопкой мыши → Перезаписать.

ОБНОВЛЕНИЕ

В Eclipse Luna (4.4.2) Open Team Synchronizing. Найдите файл и щелкните правой кнопкой мыши → "Восстановить..."

3

Функциональность на самом деле там, но это может быть неочевидно:

  • Убедитесь, что quickdiff включен с версией git, а базовая линия quickdiff - HEAD (это значение по умолчанию).
  • Откройте файл, который вы хотите вернуть.
  • Выбрать все (Ctrl-A)
  • Щелкните правой кнопкой мыши в строке быстрого доступа
  • Выберите "Отменить выбор"
  • Сохранить

btw, вернитесь в git lingo означает создание новой фиксации для возврата более раннего фиксации.

0

Чтобы вернуть весь файл в данные репозитория:

Нажмите на папку, которую вы хотите сделать, и перейдите к GitStaging Изображение 6891

Ещё вопросы

Сообщество Overcoder
Наверх
Меню