Разрешает ли TortoiseGit выборочную постановку, например, git-gui?

Этот вопрос:

Можете ли вы взаимодействовать с индексом / областью размещения с помощью TortoiseGit?

Занимает позицию, согласно которой основная функция TortoiseGit - не устранять необходимость в командной строке git, и в целом я согласен.

Тем не менее, в git-gui есть функция, которую я часто использую (возможно, чтобы компенсировать плохой рабочий процесс): возможность выборочно ставить или отменять фрагменты или строки из текущего патча, чтобы разделить кучу вкрапленных изменений на когерентные наборы изменений в нескольких коммитах.,

Альтернатива командной строки (для меня, во всяком случае) немного неуклюжа, поэтому в идеале я бы хотел сделать такой же выборочный коммит в TortoiseGit.

До сих пор я не нашел способа сделать это, и я подозреваю, из ответа на другой вопрос, что это невозможно. Кто-нибудь может подтвердить это, пожалуйста?

5 ответов

Решение

Единственный клиент в Windows, который имеет полную поддержку выборочной постановки в графическом интерфейсе, который я видел до сих пор, - это SmartGit.

Таким образом, он также имеет слабые стороны по сравнению с TortoiseGit или GitExtensions.

Для меня основные шоу-стопперы в SmartGit:

  1. Невозможность сравнить две ревизии. Вы могли видеть только различие между одним и его родителем (TortoiseGit может это).
  2. Неспособность (ну, это немного странно, возможно, я не нашел способа) ограничить журнал какой-либо папкой, если я не интересуюсь всем (TortoiseGit может).
  3. Интеграция с VisualStudio (несколько субъективно, но GitEx есть, и это очень удобно)

Я помню, что было что-то еще, но сейчас, оценивая последнюю версию SmartGit, я не могу ее найти. Либо это было исправлено / добавлено, либо я просто забыл, что я не могу сделать в этот раз.

В любом случае я использую GitEx и TortoiseGit для некоторых вещей, а для всего остального консоль - лучший инструмент.

Да, теперь это так: смотрите вопрос 222 - он использует тот же подход, что и TortoiseSVN, где вы:

  • щелкните файл правой кнопкой мыши, выберите "Восстановить после принятия"
  • TSVN создает копию файла вне рабочей копии, файл по-разному отображается в> диалоговом окне фиксации (возможно, значок наложения или другой цвет)
  • Пользователь может дважды щелкнуть файл, чтобы открыть его в TMerge или каком-либо другом инструменте сравнения, отменить все изменения, которые не должны быть зафиксированы, а затем сохранить эти изменения.
  • совершить
  • после завершения фиксации копия исходного файла перемещается обратно

( Из ЦВН № 68)

С точки зрения вопроса 222, "add -p"функция еще не реализована.

Не могли бы вы добавить поддержку частичной фиксации файла? (git add -p).
Я понимаю, что работа TortoiseGit немного отличается от обычной "git index", но все же я хотел бы получить поддержку в некотором роде.

Я хотел бы зафиксировать только несколько изменений файла.
Например, фиксируйте только одну строку исправления файла, а оставшуюся оставьте в рабочей копии.

SourceTree ( https://www.sourcetreeapp.com/) имеет очень интуитивно понятный графический интерфейс для выборочной постановки. Он сделан для интеграции с BitBucket (в конце концов, от одной и той же компании), но может легко работать с любым git-репозиторием.

Я все еще использую TortoiseGit параллельно, особенно из-за некоторых полезных функций, таких как граф ревизий.

Существует запрос на вытягивание, который реализует эту функцию с 2020 года, надеюсь, он будет объединен как можно скорее.

https://github.com/TortoiseGit/TortoiseGit/pull/233

Другие вопросы по тегам