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

такой вопрос:

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

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

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

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

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

4 ответов


единственный клиент в windows, который имеет полную поддержку выборочной постановки в GUI, который я видел до сих пор, это SmartGit.

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

для меня, основные showstoppers в SmartGit являются:

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

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

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


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

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

(из ЦВН выпуск 68)


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

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

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


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

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