Utworzyłem nowe repozytorium na Github, które ma teraz tylko plik Readme.md.
Mam nowo utworzony projekt RoR, który chciałem przesłać do tego repozytorium. Poniżej znajdują się polecenia, które wydałem w moim terminalu, aby wykonać to wraz z błędem, który otrzymuję.
git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git
Po czym wpisałem swoją nazwę użytkownika i hasło
git push -u origin master
Błąd ---
To https://github.com/aniruddhabarapatre/learn-rails.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Po raz pierwszy wypycham kod do repozytorium Github i zgubiłem się z błędami. Przeszukałem kilka innych pytań, które są tutaj zadawane, ale żadne z nich nie miało problemów za pierwszym razem.
Odpowiedzi:
Kiedy tworzyłeś repozytorium na GitHub , utworzyłeś README.md , który jest nowym zatwierdzeniem .
Twoje lokalne repozytorium jeszcze nie wie o tym zatwierdzeniu. W związku z tym:
Możesz skorzystać z tej porady:
To jest:
źródło
fatal: refusing to merge unrelated histories
w takim przypadku, przesyłasz,git pull --allow-unrelated-histories origin master
a następnieJeśli jest to Twoje pierwsze naciśnięcie, możesz nie przejmować się historią na pilocie. Następnie możesz wykonać „wymuszone wypychanie”, aby pominąć sprawdzanie, które robi git, aby zapobiec nadpisaniu istniejącej lub innej pracy na zdalnym. Używaj z najwyższą ostrożnością!
po prostu zmień
zmień to w ten sposób!
źródło
A oto GIF.
⚠️ UWAGA : Korzystanie
force
może zmienić historię dla innych ludzi w tym samym projekcie. Zasadniczo, jeśli nie zależy Ci na usunięciu pliku dla wszystkich, po prostu śmiało. Zwłaszcza jeśli jesteś jedynym deweloperem w tym projekcie.źródło
git push -f origin master
kształtowanie się nie jest wielkim nawykiem.-f
tag usuwa pliki i powinien być używany ostrożnie.Wydaj wymuszone pchnięcie poleceniem:
źródło
Zakładając, że dodałeś plik Readme.md za pośrednictwem interfejsu udostępnionego przez github, plik Readme nie znajduje się jeszcze w Twoim folderze lokalnym. Dlatego przy próbie wypchnięcia do zdalnego repozytorium pojawia się błąd, ponieważ w lokalnym repozytorium brakuje pliku readme - że tak powiem, jest to „spóźnione”. Dlatego, jak jest sugerowane w komunikacie o błędzie, spróbuj najpierw „git pull”. Spowoduje to pobranie pliku readme ze zdalnego repozytorium i połączenie go z katalogiem lokalnym. Po tym nie powinieneś mieć problemu z wypychaniem do zdalnego repozytorium (wysłane przez Ciebie polecenia wyglądają na prawidłowe).
źródło
Dzieje się tak, gdy początkowo próbujesz push, ponieważ w repozytorium GitHub masz readMe.md lub inną nową rzecz, której nie ma w lokalnym repozytorium. Najpierw musisz scalić niepowiązaną historię swojego repozytorium github, aby to zrobić
następnie możesz pobrać inne pliki z repozytorium (readMe.md lub inne) za pomocą tego
Po tym
Teraz z powodzeniem wprowadzasz wszystkie zmiany do repozytorium Github. Nie jestem ekspertem w git, ale za każdym razem ten krok działa dla mnie.
źródło
Biorąc pod uwagę, że od jakiegoś czasu nie wprowadzałeś zmian, może to zadziała.
To zadziałało dla mnie, mam nadzieję, że zadziała również dla ciebie.
źródło
Ten błąd występuje, gdy przesyłasz dane z katalogu lokalnego do zdalnego repozytorium git za pomocą polecenia git:
git push -u origin master
Ponieważ pliki katalogu lokalnego i zdalnego katalogu git są w konflikcie.
Rozwiązanie :
Po zatwierdzeniu wszystkich plików do przemieszczania wykonaj poniższe kroki.
Pobierz pliki ze zdalnego repozytorium jako konflikt z lokalnym katalogiem roboczym.
git pull <remoter-url> <branch-name>
Zatwierdź zmiany ponownie.
git add -A
git commit -m ‘<comment>'
Po zatwierdzeniu scalania plików z obu katalogów możesz użyć
git push -u origin master
To rozwiąże problem. Dzięki.
źródło
jeśli używasz git for mac w GUI, możesz najpierw wybrać Respository-> Pull lub „comm + shift + p” do „git pull”, a następnie opublikować źródło.
źródło
Miałem podobny problem ... rozwiązałem go w ten sposób (nie jestem ekspertem od git, więc nie wiem, czy to jest dobre rozwiązanie, ale zadziałało):
źródło
Zmagałem się z tym błędem przez ponad godzinę! Oto, co pomogło mi rozwiązać ten problem. Wszystko to, gdy mój katalog roboczy był repozytorium, które sklonowałem w moim systemie.
Jeśli dodajesz pliki do istniejącego repozytorium ** 1. Wyciągnąłem wszystko, co dodałem do mojego repozytorium, do mojego folderu GitHub:
git pull
Wynik był - jakiś plik readme plik1 plik2
na przykład. jakiś plik readme plik1 plik2 nowy plik1 nowy plik2
git dodaje „nowy plik1” „nowy plik2”
[opcjonalny] status git zapewni ci to, czy pliki, które chcesz dodać, są ustawione poprawnie lub nie zostały wyprowadzone
W Twoim oddziale Twój oddział jest na bieżąco z 'origin / master'. Zmiany do zatwierdzenia: (użyj polecenia „git reset HEAD ...”, aby usunąć ze sceny)
5.git commit -m "dowolny opis, który chcesz podać" 6. git push
A wszystkie moje nowe pliki wraz ze starszymi były widoczne w moim repozytorium.
źródło
Prostszą odpowiedzią jest ręczne przesłanie pliku README.MD z komputera do GitHub. U mnie zadziałało bardzo dobrze.
źródło
Używam opcji Branches, a następnie klikam prawym przyciskiem myszy folder „remote / origin”, a następnie klikam „delete branches from remote”, patrz obrazek poniżej:
źródło
Otrzymałem ten błąd w usłudze Azure Git, a to rozwiązuje problem:
źródło