Z jakiegoś powodu nie mogę teraz naciskać, podczas gdy mógłbym to zrobić wczoraj. Może popełniłem błąd przy konfiguracji lub coś takiego.
Oto co się dzieje:
Kiedy używam git push master master
Jak wygląda mój katalog roboczy i zdalne repozytorium:
Odpowiedzi:
Jeśli w repozytorium GitHub pojawiły się nowe zatwierdzenia, podczas gdy pracujesz lokalnie, radzę użyć:
Pełna składnia to:
Z Git 2.6+ (wrzesień 2015), po zrobieniu tego (raz)
Wystarczyłoby proste
git pull
.(Uwaga: z Git 2.27 Q2 2020 , A
merge.autostash
jest także dostępna dla zwykłego naciągu, bez rebase)W ten sposób, byś odtworzyć (w
--rebase
części) zobowiązuje lokalnych na szczycie nowo zaktualizowaneorigin/master
(alboorigin/yourBranch
:git pull origin yourBranch
).Zobacz pełniejszy przykład w rozdziale 6 Pull with rebase of Git Pocket Book .
Poleciłbym:
Ustanowiłoby to relację śledzenia między lokalnym oddziałem głównym a jego odgałęzieniem.
Następnie wszelkie przyszłe działania wypychające dla tej gałęzi można wykonać za pomocą prostego:
Zobacz „ Dlaczego muszę jawnie wcisnąć nowy oddział? ”.
Skoro PO już reset i przerobione jego popełnienia na górze
origin/master
:Nie ma takiej potrzeby
pull --rebase
.Uwaga:
git reset --mixed origin/master
można również napisaćgit reset origin/master
, ponieważ--mixed
opcja jest domyślna podczas korzystaniagit reset
.źródło
Czy ktoś próbował:
To powinno rozwiązać problem.
źródło
-f
/--force
zawsze zawsze jest bezpieczniej używać--force-with-lease
tego, co zostanie przerwane, jeśli pojawią się zmiany, które zostałyby zablokowane przez wypychanie.--force-with-lease
jest wymagany w wielu codziennych sytuacjach bazowania, ale--force
prawie nigdy nie powinien być potrzebny.Jeśli po prostu użyłeś
git init
i dodałeś swoje plikigit add .
lub coś podobnego i dodałeś zdalną gałąź, być może nie popełniłeś (git commit -m 'commit message'
) niczego lokalnie, aby pchnąć do zdalnego ... Właśnie miałem ten błąd i to był mój kwestia.źródło
Miałem ten sam problem. Otrzymywałem ten problem, ponieważ nie dokonałem żadnego zatwierdzenia, nawet początkowego, i wciąż próbowałem je popchnąć.
Raz to zrobiłem,
git commit -m "your msg"
a potem wszystko działało dobrze.źródło
Zmień nazwę swojego oddziału, a następnie wypchnij, np .:
To zadziałało dla mnie.
źródło
my-branch_wont_push
. Raz zmieniłem nazwę namy_branch_wont_push
, a potemgit push -u origin my_branch_wont_push
pracowałem dla mnie.Rozwiązanie tego problemu znajduję w pomocy github.
Można to zobaczyć na stronie: Radzenie sobie z błędami niezwiązanymi z szybkim przewijaniem do przodu
To mówi:
Możesz to naprawić, pobierając i scalając zmiany wprowadzone w zdalnej gałęzi ze zmianami, które wprowadziłeś lokalnie:
Lub możesz po prostu użyć git pull, aby wykonać oba polecenia jednocześnie:
źródło
git init
git remote add origin https://gitlab.com/crew-chief-systems/bot
git remote -v
(do sprawdzania bieżącego repozytorium)git add -A
(dodaj wszystkie pliki)git commit -m 'Added my project'
git pull --rebase origin master
git push origin master
źródło
Napotkałem ten sam problem, rozwiązany za pomocą poniższych kroków.
git init
git add .
git commit -m 'Add your commit message'
git remote add origin https://[email protected]/User_name/sample.git
( Powyższy adres URL https: //[email protected]/User_name/sample.git odnosi się do adresu URL twojego projektu wiadra bitów)
git push -u origin master
Wskazówka
sprawdź, czy twoje konto git hub łączy się z lokalnym gitem, używając:
źródło
Jeśli używasz gerrit, może to być spowodowane niewłaściwym identyfikatorem zmiany w zatwierdzeniu. Spróbuj usunąć identyfikator zmiany i zobacz, co się stanie.
źródło
Pamiętaj, aby zatwierdzić zmiany przed przejściem do repozytorium Github. To może rozwiązać problem.
źródło
Problemem nie jest również zatwierdzanie początkowych zmian przed wypchnięciem
źródło
przed wypychaniem musisz dodać i zatwierdzić zmiany lub zrobić
git push -f origin master
źródło
Jeśli oddział lokalny i oddział zdalny mają tę samą nazwę, możesz pominąć nazwę oddziału lokalnego, po prostu użyj
git push {your_remote_branch}
. W przeciwnym razie wygeneruje ten błąd.źródło
Wykonałem następujące kroki i zadziałało to dla mnie.
źródło
Może się to zdarzyć, gdy nie masz żadnych plików. Spróbuj utworzyć plik tekstowy, a następnie postępuj zgodnie z następującymi poleceniami
źródło
Dla mnie problemem było to, że nie dodałem plików przed zatwierdzeniem.
git add .
git commit -m "your msg"
źródło
Najlepsze wykorzystanie,
rm -rf .git/hooks
a następnie spróbuj git pushźródło
W GitHub utworzyłem puste repozytorium i mam swój kod lokalnie. Napotkałem ten sam problem, postępując zgodnie z poniższą sekwencją,
POTRZEBUJEMY ZAPAMIĘTOWAĆ PLIKI, A NASTĘPNIE ZAANGAŻOWAĆ.
To jest poprawna sekwencja.
Ponieważ najpierw wykonuję nieprawidłową sekwencję, po prostu wykonuję poniższe polecenia
źródło
Nie jestem pewien, czy to dotyczy, ale dla mnie poprawką było zatwierdzenie czegoś lokalnie po git init. Potem nacisnąłem na zdalne używając --set-upstream ...
źródło
Utworzenie nowej gałęzi rozwiązanej dla mnie:
Zgodnie z oczekiwaniami nie ma potrzeby łączenia, ponieważ poprzedni oddział został w pełni zawarty w nowym.
źródło
git push origin feature22-fix
, alefeature22-fix
nie wyszedłem ani lokalnie, ani zdalnie, więc musiałem najpierw sprawdzić lokalnie oddział, a następnie pchnąćJeśli próbujesz zainicjować katalog z istniejącym repozytorium GitHub, upewnij się, że dokonujesz zmian.
Spróbuj utworzyć plik:
Spowoduje to umieszczenie pliku o nazwie początkowej, który można usunąć później.
Mam nadzieję, że ta odpowiedź pomoże! Powodzenia!
źródło
Musisz dać siłę
Po prostu wykonaj push - force.
źródło
W moim przypadku to moja
husky
paczka nie zezwala na wypychanie.Pobiegłem
npm run prepush
zobaczyć błąd debugowania, a to była przyczyna:Uruchomiłem go
npm install
i zatwierdziłem, a problem został rozwiązany.źródło
Zrób to
Miłego kodowania!
źródło
Wypróbuj to polecenie git,
źródło
Cóż, jeśli żadna z powyższych odpowiedzi nie działa i jeśli
ssh-add
ostatnio coś popsułeś. Próbowaćźródło
Dla użytkowników sourcetree
Najpierw wykonaj wstępne zatwierdzenie lub upewnij się, że nie ma żadnych nieprzewidzianych zmian, a następnie po stronie sourcetree znajduje się „PILOTY”, kliknij go prawym przyciskiem myszy, a następnie kliknij „Push to origin”. Proszę bardzo.
źródło
Zdarza mi się to, ponieważ miałem tag z tym samym co gałąź i próbowałem wypchnąć gałąź na odległość.
źródło
W moim przypadku problem polegał na tym, że (o dziwo) nie było gałęzi zwanej master. Wziąłem repozytorium z Github.
źródło
Naciskałem istniejącą gałąź literówki „evelop”, której jeszcze nie miałem kasy, i zamiast tego chciałem przesunąć gałąź zwaną „kopertą”. Więc oddział musi istnieć / sprawdzić w lokalnej kopii roboczej, aby oczywiście popchnąć, a zatem ten błąd, a nie literówka.
źródło