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

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

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

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

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

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

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

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

Ответы [ 4 ]

21 голосов
/ 20 мая 2011

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

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

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

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

4 голосов
/ 27 октября 2014

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

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

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

3 голосов
/ 07 декабря 2014

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

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

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

0 голосов
/ 20 декабря 2016

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

...