Разрешает ли TortoiseGit выборочную постановку, например, git-gui?
Этот вопрос:
Можете ли вы взаимодействовать с индексом / областью размещения с помощью TortoiseGit?
Занимает позицию, согласно которой основная функция TortoiseGit - не устранять необходимость в командной строке git, и в целом я согласен.
Тем не менее, в git-gui есть функция, которую я часто использую (возможно, чтобы компенсировать плохой рабочий процесс): возможность выборочно ставить или отменять фрагменты или строки из текущего патча, чтобы разделить кучу вкрапленных изменений на когерентные наборы изменений в нескольких коммитах.,
Альтернатива командной строки (для меня, во всяком случае) немного неуклюжа, поэтому в идеале я бы хотел сделать такой же выборочный коммит в TortoiseGit.
До сих пор я не нашел способа сделать это, и я подозреваю, из ответа на другой вопрос, что это невозможно. Кто-нибудь может подтвердить это, пожалуйста?
5 ответов
Единственный клиент в Windows, который имеет полную поддержку выборочной постановки в графическом интерфейсе, который я видел до сих пор, - это SmartGit.
Таким образом, он также имеет слабые стороны по сравнению с TortoiseGit или GitExtensions.
Для меня основные шоу-стопперы в SmartGit:
- Невозможность сравнить две ревизии. Вы могли видеть только различие между одним и его родителем (TortoiseGit может это).
- Неспособность (ну, это немного странно, возможно, я не нашел способа) ограничить журнал какой-либо папкой, если я не интересуюсь всем (TortoiseGit может).
- Интеграция с 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 года, надеюсь, он будет объединен как можно скорее.