2015-05-11 31 views
7

Po długich godzin szukając tego konkretnego problemu, nie znalazłem innego rozwiązania, ale zadaj pytanie tutaj:„rozpakować nie powiodło się: błąd popełnić Missing”, ale popełnić istnieje

Scenariusz:

  1. dwoma zdalnymi serwerami: git.address-a.com i git.address-b.com
  2. Jeden lokalny repozytorium z dwóch pilotów: pochodzenie do git.address-a.com i zdalnym-b do git.address-b.com
  3. Każdego dnia sprawdzasz czy coś zostało zepchnięte na zdalnym-b.
  4. Jeśli cokolwiek została przesunięta, i utworzyć nową lokalną gałąź opartą na wzorcu (śledzenie pochodzenie/master), pobrać zmiany z zdalnym-b i scalić je w moim nowym oddziale (rozgałęzienia b dla instancja).
  5. Jeśli wszystko jest w porządku i nie ma konfliktu (i naprawić je recznie jeżeli existe troche), po prostu kasy z powrotem do mistrza i scalić z oddział-b, więc wciskam mistrz do pochodzenie/mistrz.

Opis problemu:

Ten workflow pracował bardzo dobrze, ale z jakiegoś powodu, w ciągu ostatniego tygodnia w codziennej integracji git wraca do mnie wiadomość tuż po naciśnięciu:

error: unpack failed: error Missing commit 041460e3edf2f00f75022ce864535ffa2331f1c3 
To https://[email protected]/git/r/project.git 
! [remote rejected] master -> master (n/a (unpacker error)) 

to commit (zwarte: 041460) jest od dwóch tygodni temu i istnieje w obu pilotów. Ale teraz, kiedy pobrać i scalić zmiany z zdalnym-b do oddział-b, łączyć je mistrza i starają się wcisnąć do pochodzenia Ten błąd jest pokazane.

Polecenia wykonywane:

#git checkout -b branch-b 
#git fetch remote-b 
#git merge remote-b/master 
#git checkout master 
#git merge branch-b 
#git push origin master 

Enviroment:

Git w pilotów: 1.7.1 git w moim komputerze: 1.9.1 Gitblit 1.6.2 w obu pilotów

Wypróbowano:

  • Rebase
  • Oddział w rodzicu commit informowany przez git i rebase po tym.
  • Usuń projekt lokalny, ponownie wykonaj wszystkie kroki integracji.

Odpowiedz

0

Czy próbowałeś

git push --no-thin origin master 

jak również?

+0

Niestety, nasze środowisko devops zmieniło wymagania teraz i ten scenariusz się zmienił. Teraz nie można ponownie wykonać testu w tych samych warunkach na tych samych serwerach. –