2015-05-22 22 views
9
> git fsck 
error in commit %hash%: invalid author/committer line - bad time zone 

> git show %hash% 
Date: Mon Mar 18 23:57:14 2201 -5274361 

Jak można to naprawić? Z git rebase w gałęzi głównej i usunąć \ update informacje o zatwierdzeniu, lub zrobić trochę magii w katalogu projektu .git, czy jakoś inaczej?git commit zerwana strefa czasowa

+0

Cóż, ponowne przesyłanie i usuwanie/aktualizowanie zatwierdzenia spowodowałoby przepisanie historii, która może nie być preferowana. Najbardziej interesującą częścią dla mnie jest to, jak ten błąd mógł się wydarzyć? Nie mam jeszcze odpowiedzi. – ckruczek

+0

Jakiej wersji Git używasz? Czy używasz go w połączeniu z dowolnym narzędziem innej firmy? – Jubobs

+0

Wersja zdalnego repo git to 1.7, mój (klient) to 1.9, nic więcej nie jest używane. – Alex

Odpowiedz

2

Wybrałbym rozwiązanie git rebase -i.

Edytuj nieprawidłowe zatwierdzenia i git commit --amend --date="Mon Jul 24 14:00 2015 +0100" po ich zatrzymaniu.

Jeśli zmieniasz bazę na pchniętych zatwierdzeniach, będziesz musiał przepisać historię oddziału (w twoim przypadku master) wykonując push -f.

+0

Udało mi się zmienić zatwierdzenia, ale git fsck pokazuje, że stare wciąż tam są ... –

0

EDIT: Jeśli opcja rebase nie działa .. chciałbym odpisać próbuje naprawić repo ..

pójdę z szybkiego eksportu i importu szybkim ..

git fast-export --all | (cd /cleanrepo/ && git fast-import) 

Dodałbym --anonymize, aby usunąć wszystkie informacje identyfikujące, jeśli powyższe nie powiedzie się.