Подтвердить что ты не робот

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

Мне было поручено представить презентацию Git моим коллегам, которые почти полностью используют пользователей Windows, которые используют TortoiseCVS. Я использую Git около года, но почти исключительно использовал интерфейс командной строки Unix.

Итак, я пытался познакомиться с инструментами Windows GUI Git, включая TortoiseGit. Но мне кажется, что это больше, чем просто GUI-скин над интерфейсом командной строки Git и фактически абстрагирует некоторые вещи полностью, в частности индекс.

Например, когда я щелкаю правой кнопкой мыши новый, неверсированный файл в Проводнике Windows, я могу выбрать "Добавить" из меню TortoiseGit, а затем зафиксировать этот файл, но этот же пункт меню отсутствует в файлах, которые уже находятся в Git, и в этом случае я вижу только опцию "subodule add".

Нет ли способа взаимодействия с индексом с TortoiseGit?

Я ищу аналоги для git add, git diff --cached и git reset HEAD, в частности.

Вот сообщение в группу Google об этом, но это было с прошлого лета.

Я использую TortoiseGit версии 1.6.5.0 и msysgit версии 1.7.4.msysgit.0, если это имеет значение. Я установил их всего несколько дней назад, так что они, вероятно, достаточно обновлены.

4b9b3361

Ответ 1

Ответ: нет, вы не можете.

Для меня TortoiseGit - это инструмент, который вы можете использовать для перехода от – в вашем случае – CVS для Git проще (как я писал в своем ответе на Действительно ли TortoiseGit делает Git намного проще в использовании, например TortoiseSVN?). Но как только переход сделан, и ваши коллеги знакомятся с Git, пришло время придумать реальные инструменты.

И самым мощным инструментом для взаимодействия с Git является командная строка. Период. Git Gui и gitk также пригодны для использования, приносят некоторое удобство, но не требуют интеграции с исследовательскими программами (по крайней мере, с точки зрения наложений). Но в разы с несколькими заголовками ящиков разработки: почему бы не сохранить открытую папку "w20 > Gui на одном мониторе (тот, который используется для общего управления) и работать с другим?

Недавно я также сделал введение в Git в моей команде на работе. Мы привыкли к TortoiseSVN, поэтому я также показал им, как добавлять файлы с помощью Tortoise, как совершать и т.д. Но на каждом слайде я также отметил, что они должны ввести Git Bash для достижения того же результата. Таким образом, как только они станут немного более опытными, они смогут вытащить слайды и заглянуть в команды, которые они должны использовать.

Ответ 2

Правда еще хуже, чем до сих пор дали ответы. Я попробовал эксперимент: git add некоторые изменения в индексе, восстановление рабочего дерева в соответствии с текущим HEAD и выполнение коммитов TortoiseGit.

Он перечислил измененный файл как один из файлов, которые могут быть включены в коммит, поэтому он знал, что что-то было изменено, что создает впечатление, что, по крайней мере, он знает, как завершить коммит, который уже был поставлен другим инструментом, Но когда я его выбрал, фиксация фактически использовала копию рабочего дерева и уничтожила незафиксированные данные в индексе, а фиксация закончила тем, что она не была в этом файле.

Опасный инструмент, я думаю, я его избегу.

Ответ 3

В ограниченной степени вы можете выполнять эти действия в TortoiseGit. Например, есть диалог reset. Они не имеют особого видения (я думаю), потому что использование TortoiseGit означает, что у вас меньше потребности в индексе git - существуют удобные и высокофункциональные GUI-методы для выбора и анализа вещей, которые вы намерены совершить, поэтому индекс становится меньше необходимо.

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

В качестве дополнительного перехода вам может быть интересен пакетный файл, который я использую, что немного размывает строку, позволяя удобное обращение к этим окнам TortoiseGit GUI из командной строки: https://github.com/ses4j/tgit

Ответ 4

В последнее время нужно использовать git add для применения stash при внесении изменений в те же файлы и обнаружил, что я могу использовать его с трюком: создать (создать) новый файл в репо (например, txt), открыть окно фиксации, которое будет отображать измененные файлы вместе с новым. Выберите все измененные файлы и новый файл. Щелкните правой кнопкой мыши на новом файле, и там будет команда Add. Он применит git add ко всем выбранным файлам. После этого вы можете просто Revert создать новый файл. Все это позволило мне применить штамп к измененным файлам.