fataal: de huidige vertakkingsmaster heeft geen stroomopwaartse vertakking

Ik probeer een van mijn projecten naar github te pushen en ik krijg steeds deze foutmelding:

[email protected]:~/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:

[email protected]:~/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.

[email protected]:~/846156 (master) $ git push -u origin master
fatal: Authentication failed

Toen probeerde ik dit:

[email protected]:~/846156 (master) $ git config remote.origin.push HEAD
[email protected]:~/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 masterof 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\HEADbestand) 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 pushdefinieert, 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 --allvergeet 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

Actuele instructies


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.

  1. Als u een token wilt genereren, gaat u naar uw Github-account en in Ontwikkelaarsinstellingen en maakt u vervolgens een ander token.
  2. 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 masterbranch 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

voer hier de afbeeldingsbeschrijving in

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.

voer hier de afbeeldingsbeschrijving in


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 pushcommando 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 gitzelf het onderstaande commando geven:

git checkout -b branchname origin/branchname

Hier stellen we standaard the upstream branchin, 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!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes