Поддерживает ли TortoiseGit выборочную постановку, например git -gui?
Этот вопрос:
Можете ли вы взаимодействовать с областью индекса/промежуточной области с TortoiseGit?
принимает позицию, что основная функция TortoiseGit не, чтобы устранить необходимость в командной строке git, и в целом я согласен.
Тем не менее, git -gui имеет функцию, которую я использую много (возможно, чтобы компенсировать плохой рабочий процесс): возможность выборочно ставить или неаккурировать куски или строки из текущего патча, чтобы разделить кучу вкрапленных изменений на когерентных наборов изменений в нескольких коммитах.
Альтернатива командной строки (для меня, во всяком случае) немного неуклюжая, поэтому, в идеале, я хотел бы сделать то же избирательное, что и в TortoiseGit.
До сих пор я не нашел способ сделать это, и я подозреваю, что из ответа на другой вопрос, что это невозможно. Кто-нибудь может подтвердить это, пожалуйста?
Ответы
Ответ 1
Единственный клиент в Windows, который имеет полную поддержку выборочной постановки в графическом интерфейсе, который я видел до сих пор, SmartGit.
Таким образом, он также имеет слабые стороны, сравнивая с TortoiseGit или GitExtensions.
Для меня главными демонстраторами в SmartGit являются:
- Неспособность сравнить две версии. Вы могли видеть только разницу между одним и своим родителем (TortoiseGit может это).
- Неспособность (ну, это несколько странно, возможно, я не нашел способ) ограничить запись в какую-то папку, если я не интересуюсь всем (TortoiseGit может).
- Интеграция с VisualStudio (несколько субъективная, но GitEx есть, и это очень удобно)
Я помню, что было что-то еще, но, оценив последнюю версию SmartGit, я не могу ее найти. Либо это было исправлено/добавлено, либо я просто забыл, что я не могу сделать в это время.
В любом случае я использую GitEx и TortoiseGit для некоторых вещей, а для всего остального консоль - лучший инструмент.
Ответ 2
Да, теперь: см. issue 222 - он использует тот же подход, что и TortoiseSVN, где вы:
- щелкните правой кнопкой мыши файл, выберите "Восстановить после фиксации"
- TSVN создает копию файла за пределами рабочей копии, файл отображается по-разному в > диалоге фиксации (возможно, оверлейный значок или другой цвет).
- пользователь может дважды щелкнуть файл, чтобы открыть его в TMerge или другом инструменте diff, и отменить все изменения, которые не должны быть зафиксированы, а затем сохранить эти изменения.
- совершить
- после завершения фиксации копия исходного файла будет перенесена.
(Из TSVN Issue 68)
Ответ 3
Из внешнего вида issue 222 функция "add -p
" еще не реализована.
Не могли бы вы добавить поддержку для частичной фиксации файла? (git add -p
).
Я понимаю, как работает TortoiseGit, немного отличается от обычного "git index
", но все же я хотел бы иметь поддержку для этого в некотором роде.
Мне бы хотелось сделать только несколько изменений файла.
Например, только зафиксируйте однострочное исправление файла и оставите остальные в рабочей копии.
Ответ 4
SourceTree (https://www.sourcetreeapp.com/) имеет очень интуитивно понятный графический интерфейс для выборочной постановки. Это сделано для интеграции с BitBucket (это одна и та же компания), но может легко работать с любым репозиторием git.
Я все еще использую TortoiseGit параллельно, особенно из-за некоторых хороших функций, таких как график ревизий.