Ik probeer een van mijn projecten naar github te pushen en ik krijg steeds deze foutmelding:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Dus ik probeerde het en kreeg dit:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Een andere stackoverflow-thread stelde voor om het volgende te proberen, met teleurstellende resultaten.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Toen probeerde ik dit:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Heeft u hints?
Antwoord 1, autoriteit 100%
Je hebt de push opgelost, maar los van dat push-probleem (wat ik heb uitgelegd in “Waarom moet ik expliciet een nieuw branch?“: git push -u origin master
of git push -u origin --all
), moet u nu het authenticatieprobleem oplossen.
Dat hangt af van uw url (ssh zoals in ‘[email protected]/yourRepo
, of https zoals in https://github.com/You/YourRepo
)
Voor https-url:
Als uw account wordt beschermd door de twee-factor-authenticatie, is uw normale wachtwoord werkt niet (voor https-url), zoals hier uitgelegdof hier.
Hetzelfde probleem als uw wachtwoord een speciaal teken bevat (zoals in dit antwoord)
Als https niet werkt (omdat je geen secundaire sleutel wilt genereren, een PAT: personal Access Token), dan kun je overschakelen naar ssh, zoals ik hier heb laten zien.
Zoals opgemerkt door qwertyin de opmerkingen, kun je automatisch de vertakking met dezelfde naam op de afstandsbediening maken met:
git push -u origin head
Waarom?
- HEAD (zie je
.git\HEAD
bestand) heeft de refspec van de momenteel uitgecheckte branch (bijvoorbeeld:ref: refs/heads/master
) - het standaard push-beleidis eenvoudig
Aangezien de refpec die voor deze push wordt gebruikt head: (geen bestemming) is, betekent een ontbrekende :<dst>
dat dezelfde ref moet worden bijgewerkt als de <src>
(hoofd, dat is een tak).
Dat werkt echter niet als HEAD is losgekoppeld.
Antwoord 2, autoriteit 85%
U kunt ook het volgende commando gebruiken:
git push -u origin master
Hiermee wordt (-u) een andere vertakking in uw externe repo gemaakt. Zodra de authenticatie met ssh is voltooid, is dat zo.
Antwoord 3, autoriteit 32%
Als je de actie git push
definieert, zou deze moeten plaatsvinden als er geen refspec wordt gegeven op de opdrachtregel, er geen refspec is geconfigureerd in de remote, en er wordt geen refspec geïmpliceerd door een van de gegeven opties op de opdrachtregel.
Doe het gewoon:
git config --global push.default current
dan
git push
Antwoord 4, autoriteit 31%
Blijkbaar krijg je deze foutmelding ook als je de parameter --all
vergeet wanneer je voor de eerste keer drukt. ik schreef
git push -u origin
die deze fout gaf, had het moeten zijn
git push -u origin --all
O, wat ben ik dol op deze kopieer-plakfouten…
Antwoord 5, autoriteit 10%
U moet eerst de afstandsbediening configureren en vervolgens indrukken.
git remote add origin url-to-your-repo
Antwoord 6, autoriteit 9%
Probeer dit scenario eens
git push -f --set-upstream origin master
Antwoord 7, autoriteit 6%
Nou, ik had hetzelfde probleem tijdens het uploaden en ik heb het opgelost door
hetzelfde doet wat het zegt te doen:
Eerder probeerde ik terminal naar mijn repository in linux te pushen via https
leuk vinden
git push https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git
Maar kreeg geen resultaat en daarom ging ik dieper en probeerde:
git push --set-upstream https://github.com/SiddharthChoudhary/ClientServerCloudComputing.git master
En het werkte. Dus dan wordt u gevraagd met gebruikersnaam en wachtwoord.
Ik heb ook een token gegenereerden in plaats van wachtwoord heb ik de token geplakt en dus met succes gedaan.
- Als u een token wilt genereren, gaat u naar uw Github-account en in Ontwikkelaarsinstellingen en maakt u vervolgens een ander token.
- Nadat je dat hebt gekregen, kopieer je
dat token en plak het in de wachtwoordprompt wanneer daarom wordt gevraagd.
Antwoord 8, autoriteit 6%
heel simpel, als je eenmaal andere branches hebt, kun je ze niet zomaar gebruiken om een branch te pushen
git push
Maar je moet nu de vertakking specificeren, zelfs als je de vertakking hebt die je wilt pushen, dus
git push origin <feature_branch>
Waar kan zelfs de master
branch zijn
Antwoord 9, autoriteit 4%
Ik heb de simpele fout gemaakt om te vergeten te committen:
git commit -m "first commit"
toen werkte git push origin master
.
Antwoord 10, autoriteit 4%
Ik had hetzelfde probleem
Ik heb het opgelost met het onderstaande commando
$ git branch --set-upstream develop origin/develop
en het zal een configuratie toevoegen aan het configuratiebestand in de .git-map.
Antwoord 11, autoriteit 3%
Gebruik eerst git pull origin your_branch_name
use git push origin your_branch_name
Antwoord 12, autoriteit 2%
Er is een eenvoudige oplossing hiervoor die voor mij werkte op macOS Sierra.
Ik deed deze twee commando’s:
git pull --rebase git_url(Ex: https://github.com/username/reponame.git)
git push origin master
Als het een fatale fout toont met betrekking tot upstream na een toekomstige push, voer dan gewoon uit:
git push --set-upstream origin master
Antwoord 13, autoriteit 2%
Als je constant de volgende git-foutmelding krijgt na een poging tot git push met een nieuwe lokale branch:
fataal: de huidige vertakking heeft geen stroomopwaartse vertakking.
Om de huidige tak te pushen en de afstandsbediening in te stellen als upstream, gebruik
git push --set-upstream origin <branchname>
Het probleem is dan dat je git niet hebt geconfigureerd om altijd nieuwe branches op de externe locatie te maken vanaf lokale.
De permanente oplossing als je altijd die nieuwe branch op de afstandsbediening wilt maken om je lokale branch te spiegelen en te volgen is:
git config --global push.default current
Nu kun je git push zonder fouten gebruiken!
https://vancelucas.com/blog/how-to-fix-git-fatal-the-current-branch-has-no-upstream-branch/
Antwoord 14
Voor mij was dat omdat ik de verborgen map .githad verwijderd.
Ik heb het opgelost door de map te verwijderen, opnieuw te klonen en de wijzigingen opnieuw aan te brengen.
Antwoord 15
gebruik dit commando eerst voordat je naar de branch pusht
git config --global push.default current
Na het uitvoeren van het bovenstaande commando gebruik je het git push commando.
Antwoord 16
1.Een computer en je github gekoppeld. Gebruik SSH. Computercode zodat u geen geverifieerde voer hier een afbeeldingsbeschrijving in
2.git kan geen lege map beheren. Zo’n readme.md moet je dus in een bestand opslaan. Anders vindt u het bestand niet.
3.Uw lokale project is niets nieuws dat overgaat. Alsjeblieft
git init
git remote add origin +"githublink"
git add .
git commit -m ""
ga opnieuw.
4.dan git pull origin master
(de sleutel)
5.Eindelijk git push origin master
(los alle problemen op).
http://my.oschina.net/psuyun/blog/123005????
Antwoord 17
Als je je code rechtstreeks naar de master branch probeert te pushen, gebruik dan het commando
git push origin master
Het helpt me.
Antwoord 18
Ik kreeg ook dezelfde fout. Ik denk dat het kwam omdat ik het kloon en probeer terug te duwen.
$ git push -u origin master
Dit is het juiste commando.Probeer dat
Objecten tellen: 8, klaar.
Delta-compressie met maximaal 2 threads.
Objecten comprimeren: 100% (4/4), klaar.
Schrijven van objecten: 100% (8/8), 691 bytes | 46.00 KiB/s, klaar.
Totaal 8 (delta 1), hergebruikt 0 (delta 0)
afstandsbediening: delta’s oplossen: 100% (1/1), klaar.
-
[nieuwe branch] master -> meester
Vertakkingsmaster ingesteld om externe vertakkingsmaster vanaf de oorsprong te volgen.It was successful. Try to create new u branch
Antwoord 19
Ik had hetzelfde probleem, de oorzaak was dat ik vergat de tak op te geven
git push myorigin feature/23082018_my-feature_eb
Antwoord 20
Voor mij pushte ik de wijzigingen naar een privé-opslagplaats waartoe ik geen schrijftoegang had.
Zorg ervoor dat u over de geldige toegangsrechten beschikt tijdens het uitvoeren van push- of pull-bewerkingen.
U kunt direct verifiëren via
Antwoord 21
Als je in een filiaal zit, kun je dit gebruiken:
git push origin head -u
Hiermee wordt automatisch een nieuwe tak met dezelfde naam op de afstandsbediening gemaakt.
Antwoord 22
leg uw code vast met
git commit -m "first commit"
configureer vervolgens uw e-mail-ID met
git config user.email "[email protected]"
dit is werk voor mij
Antwoord 23
Wat me hielp:
Ik zag dat de verbinding tussen mijn directory en git niet tot stand was gebracht –
dus ik deed het weer:
git push -u origin main
Antwoord 24
Ander geval met dezelfde fout (back-up naar externe schijf), het probleem was dat ik de externe repo met kloon had ingesteld. Werkt elke keer als u de externe repo aanvankelijk met bare instelt
cd F:/backups/dir
git init --bare
cd C:/working/dir
git remote add backup F:/backups/dir
git push backup master
Antwoord 25
In mijn gedachten is dit gewoon een verkeerd standaard git-gedrag.
Na alle opties-ondersteuning door git te hebben bekeken, heb je ook de relevante git-code bekeken:
https://github.com/git/git /blob/140045821aa78da3a80a7d7c8f707b955e1ab40d/builtin/push.c#L188
De beste oplossing die ik zou aanraden, is om gewoon het standaard push-commando te overschrijven:
git config --global alias.pu 'push -u'
Dit verandert in feite het standaardgedrag van pushen, dus dat is logisch.
Antwoord 26
Het betekent dat je je branch (de branch die je wilt pushen) niet in je remote repository hebt, met andere woorden dat het niet bestaat in je remote (het is nog niet aangemaakt)…
Gebruik dus deze code:
git push -u origin 'your branch'
deze code maakt uw branch aan in uw externe repository en pusht deze…
Antwoord 27
Ongeveer hetzelfde probleem ondervonden, maar niet vanuit de master-branch.
Ik probeerde twee (2) branches naar mijn externe repository te pushen, door het $ git push
commando te gebruiken; die helaas de:
fatal: The current branch <branch-name> has no upstream branch. To push the current branch and set the remote as upstream, use
git push --set-upstream origin <branch-name>
Ik heb het opgelost met dit commando hieronder:
$ git push -u origin --all
PS: De oplossing die hier wordt gegeven, zou het voor git gemakkelijker moeten maken om branches op afstand te traceren; dit kan ooit van pas komen als je aan projecten werkt met een paar vestigingen.
Antwoord 28
Om dit probleem op te lossen, moet je tijdens het uitchecken van de code van git
zelf het onderstaande commando geven:
git checkout -b branchname origin/branchname
Hier stellen we standaard the upstream branch
in, zodat u niet met het genoemde probleem wordt geconfronteerd.
Antwoord 29
Voor mij komt het probleem van de naam van mijn branch: “#name-of-my-branch”, zonder “#” werkt het prima!