2010-10-03 3 views
5

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

error: unable to create temporary sha1 filename : No such file or directory

Я могу совершить с помощью командной строки - Я просто не могу совершить через интерфейс gui!

+0

может быть, вы должны просто использовать msysgit –

ответ

-1

Вы пытались перезагрузить компьютер. У меня были некоторые проблемы с установкой Tortoise один раз, но это решило проблему.

1

У меня была такая же проблема (решил использовать git, установленный под cygwin, а не один из msysgit). То же самое: я смог зафиксировать из командной строки, и мне также удалось увидеть индикаторы изменений и просмотреть журналы в Tortoise, но я не смог выполнить их через графический интерфейс.

Что мне нужно было сделать, это настроить параметры группы моего проекта и исполняемый файл git. От одного уровня выше моего корня проекта, я побежал следующую команду:

chgrp -R None my_project/ 

Тогда я сделал следующее:

cd /bin 
chgrp None git.exe 

Это изменило группу мерзавца исполняемый от того, что это было (root) в None.

Обратите внимание, что вы не можете использовать группу None. Посмотрите на/etc/passwd и посмотрите на четвертое поле строки, которое начинается с вашего имени пользователя (поля разделены двоеточием, а первое поле - ваше имя пользователя). Это четвертое поле является вашим основным идентификатором группы. Затем посмотрите на/etc/group и найдите строку с таким же идентификатором группы, что и поле третье. Это название группы, которое вы хотите использовать (вместо None) в приведенных выше командах.

Сообщите мне, если это сработает для вас.

+0

Вы можете принять этот ответ, если это было полезно. – Dave

+0

В моем случае все уже нет, так что это не проблема для меня. Не знаете, зачем вам нужен chgrp, возможно, вы установили git как другой пользователь? Или, может быть, я этого не вижу, потому что я нахожусь в FAT (против NTFS). – studgeek

0

«Не удается создать временный sha1 имя файла» проблема была решена для меня:

https://stackoverflow.com/a/685422/431606

Я просто побежал git repack (из командной строки) в моем хранилище, и TortoiseGit сразу же смог совершить ,

(я до сих пор не может протолкнуть TortoiseGit, как я получаю сообщение об ошибке «фатальным: Удалённая повесил трубку неожиданно», как описано в https://tortoisegit.org/issue/56)

0

Я пробовал эти решения, но они не работали для меня. Что сделало работу, чтобы переместить все исполняемые файлы, связанные с GIT, в каталог cygwin, в папку подкаталога, которая не была на моем пути, тогда я установил последнюю версию GIT с http://git-scm.com/, добавил местонахождение этого установленного исполняемого файла GIT на мой путь, убил все экземпляры Windows Explorer & bash windows, запустил новый экземпляр Windows Explorer, а затем я смог совершить транзакцию через TortoiseGit. В настоящее время (4 марта 2014 года) версия cygwin GIT составляет 1,7,9, а последняя версия от http://git-scm.com/ составляет 1,9,0. Кажется, это имеет значение.

+0

Какие вещи в cygwin git не работают? – linquize

2

TortoiseGit оптимизирован для Git для Windows.

Однако, начиная с TortoiseGit 1.8.13.0 Cygwin git также можно использовать с TortoiseGit.

Для настройки TortoiseGit вы должны настроить его следующим образом: Откройте диалоговое окно настроек TortoiseGit и откройте страницу «Общие».

1) Select the [CYGWIN-INSTALL-PATH]\bin-folder as git.exe folder.

2) Configure the HOME environment variable in Windows, so that Cygwin and TortoiseGit are using the same home directory and global git-config. Use the normal Windows notation here (e.g., "C:\Users\USERNAME"). By default, TortoiseGit uses the Windows home directory which is normally located under c:\Users and Cygwin uses its own home directories which are located under [CYGWIN-INSTALL-PATH]\home.

3) Configure AutoCrLf, this is necessary as TortoiseGit and Cygwin Git have different defaults. The default in Cygwin Git is true.

4) Go to TortoiseGit the section called “Advanced Settings” and set CygwinHack to true in order to activate cygwin workarounds.

5) Reboot.

на основе https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html