2010-10-03 13 views
5

Niedawno zainstalowałem Cygwin wraz z plikami binarnymi Git i kopią TortoiseGit na świeżej instalacji Windows XP. I wydaje się być w stanie wykonać większość operacji Git poprzez TortoiseGit, takich jak wyświetlanie logów itp, ale kiedy wracam do popełnienia przez TortoiseGit otrzymuję tę wiadomość ...Cygwin and TortoiseGit

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

jestem w stanie zobowiązać się za pomocą wiersza poleceń - Po prostu nie wydaje mi się, żeby zatwierdzić poprzez interfejs GUI!

+0

może należy po prostu użyć msysgit –

Odpowiedz

-1

Czy próbowałeś ponownie uruchomić urządzenie? Raz miałem problemy z instalacją Tortoise, ale to rozwiązało problem.

1

Miałem ten sam problem (postanowiłem użyć git zainstalowanego pod cygwin zamiast tego z msysgit). To samo: udało mi się zatwierdzić z wiersza poleceń, a także mogłem zobaczyć wskaźniki modyfikacji i wyświetlić dzienniki w Tortoise, ale nie mogłem zatwierdzić za pomocą GUI.

To, co musiałem zrobić, to dostosować ustawienia grupowe mojego projektu i pliku wykonywalnego git. Z jednego poziomu powyżej mojego korzenia projektu, wpadłem następujące polecenie:

chgrp -R None my_project/ 

Potem było następujące:

cd /bin 
chgrp None git.exe 

Zmieniło grupę wykonywalnego git od tego, co było (root) do None.

Pamiętaj, że możesz nie chcieć korzystać z grupy None. Spójrz na/etc/passwd i spójrz na czwarte pole linii zaczynające się od twojej nazwy użytkownika (pola są rozdzielane dwukropkiem, a pierwsze pole jest nazwą użytkownika) - to czwarte pole jest twoim głównym ID grupy. Następnie spójrz na/etc/group i znajdź linię, która ma ten sam identyfikator grupy co pole trzecie. To nazwa grupy, której chcesz użyć (zamiast None) w powyższych poleceniach.

Daj mi znać, jeśli to działa dla Ciebie.

+0

Zapraszam zaakceptować tę odpowiedź, jeśli było to pomocne. – Dave

+0

W moim przypadku wszystko już jest Brak, więc to nie jest dla mnie poprawka. Nie wiesz, dlaczego potrzebujesz chgrp, być może zainstalowałeś gita jako inny użytkownik? A może nie widzę tego, ponieważ jestem na FAT (vs. NTFS). – studgeek

0

sekcji „Nie można utworzyć tymczasowego SHA1 pliku” problem został rozwiązany za mną przez:

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

po prostu zabrakło git repack (z wiersza poleceń) w moim repozytorium, a TortoiseGit natychmiast stanie zobowiązać .

(I wciąż nie może przeforsować TortoiseGit, jak otrzymuję komunikat o błędzie „fatal: Zdalny koniec rozłączył się nieoczekiwanie”, jak opisano w https://tortoisegit.org/issue/56)

0

Próbowałem te rozwiązania, ale nie działa dla mnie. Praca polegała na przeniesieniu wszystkich plików wykonywalnych związanych z GIT do katalogu cygwin do podkatalogu nie znajdującego się na mojej ścieżce, następnie zainstalowałem najnowszą wersję GIT z http://git-scm.com/, dodałem lokalizację zainstalowanego pliku GIT na mojej ścieżce, zabiłem wszystkie wystąpienia Windows Explorer & bash windows, uruchomił nową instancję Windows Explorera, a następnie udało mi się zatwierdzić przez TortoiseGit. Obecnie (4 marca 2014 r.) Wersja GIG w wersji cygwin to 1.7.9, natomiast najnowsza wersja z http://git-scm.com/ to 1.9.0. To wydaje się mieć znaczenie.

+0

Jakie rzeczy w gig cygwin nie działają? – linquize

2

TortoiseGit jest zoptymalizowany pod Git dla Windows.

Jednak począwszy od TortoiseGit 1.8.13.0 Cygwin git może być również użyty z TortoiseGit.

Musisz skonfigurować go w następujący sposób w ustawieniach TortoiseGit: Otwórz okno dialogowe ustawień TortoiseGit i otwórz stronę General.

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.

podstawie https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html