Git: “Vertel me alsjeblieft wie je bent” fout

Ik heb app-servers die ik samen opstart met Chef + enkele ad-hoc bash-scripts. Het probleem is dat wanneer ik een update wil uitvoeren op een van deze app-servers, ik krijg:

19:00:28: *** Please tell me who you are.
Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

Moet ik dit echt instellen om een eenvoudige git pull origin masterte doen elke keer dat ik een app-server update? Is er een manier om dit gedrag te negeren, zodat er geen fout optreedt wanneer de naam en het e-mailadres niet zijn ingesteld?


Antwoord 1, autoriteit 100%

Ik heb er veel uren aan besteed als ik PHP-script aanroep naar initen commitvoor git.
En ik vond dat de workflow zou moeten zijn als:

  1. git init
  2. git config user.name "someone"
  3. git config user.email "[email protected]"
  4. git add *
  5. git commit -m "some init msg"

Als je [23] en 1 omwisselt, werkt de configuratie helemaal niet.

Ik wou dat dit wat zou helpen.


Antwoord 2, autoriteit 20%

In plaats van een git pullte doen, kun je het volgende doen:

git fetch
git reset --hard origin/master

Voor geen van beide hoef je je git-gebruikersnaam / e-mailadres te configureren.

Dit vernietigt alle niet-gecommitteerde lokale wijzigingen/commits, en laat je HEAD naar een commit wijzen (niet naar een branch). Maar geen van beide zou een probleem moeten zijn voor een app-server, aangezien u geen lokale wijzigingen moet aanbrengen of zich aan die repository moet binden.


Antwoord 3, autoriteit 12%

het werkt voor mij, probeer dit..
u moet uw terminal configureren met toegang op afstand.

    git config --global user.name "abc"
     git config --global user.email "[email protected]"

Antwoord 4, autoriteit 11%

Als je sourcetree gebruikt: Repository -> Repository-instellingen –> Geavanceerd –> verwijder het vinkje bij “Algemene gebruikersinstellingen gebruiken”

werkte geweldig voor mij.


Antwoord 5, autoriteit 4%

Update je bootstrap-proces om een ${HOME}/.gitconfigte maken met de juiste inhoud, of om een bestaande ergens vandaan te kopiëren.


Antwoord 6, autoriteit 4%

git config user.email "insert github email here"
git config user.name "insert github real name here"

Dit werkte prima voor mij.


Antwoord 7, autoriteit 2%

In mijn geval miste ik “e” op het woord “e-mail” zoals Chad hierboven zei, maar ik zie dat dit niet het geval is bij jou. Druk op het volgende commando om te zien of alles werkt zoals verwacht.

git config -l

Antwoord 8, autoriteit 2%

Het kan het e-mailadres niet automatisch detecteren.

Standaard wordt uw systeemgebruikersnaam gebruikt, zoals [email protected].

Dus je moet je e-mail instellen zoals hieronder:

git config user.email "[email protected]"

Na het instellen van e-mail kun je de git-opdrachten uitvoeren en je wijzigingen vastleggen.

  1. git init
  2. git add *
  3. git commit -m “some init msg”

Antwoord 9

Ik had hetzelfde probleem en heb het opgelost door de standaardnaam en instellingen voor de e-mailrepository toe te voegen.

Zoals Doron voorstelde –

Als u sourcetree gebruikt: Repository -> Repository-instellingen –> Geavanceerd –> verwijder het vinkje bij “Algemene gebruikersinstellingen gebruiken”.

Voeg standaardnaam en e-mailadres toe.


Antwoord 10

Je moet je e-mail zo schrijven

git config --global user.email "[email protected]"

Vervolgens: Schrijf gebruikersnaam

git config --global user.name "Your Name"

Daarna verschijnt het pop-upvenster

Schrijf USERNAME & E-MAILVoor Acount U wilt bijdragen


Antwoord 11

Voor mij was het probleem de netwerkverbinding. Toen ik eenmaal opnieuw verbinding had gemaakt met mijn wifi, kon het de details ophalen en zonder problemen vastleggen.


Antwoord 12

Moet ik dit echt instellen om elke keer als ik een app-server update een simpele git pull origin master te doen? Is er een manier om dit gedrag te negeren, zodat er geen fout optreedt wanneer de naam en het e-mailadres niet zijn ingesteld?

Het zal slechts één keer vragen en ervoor zorgen dat de openbare rsa-sleutel voor deze machine wordt toegevoegd aan uw github-account waaraan u probeert vast te leggen of een pull-verzoek doorgeeft.

Meer informatie hierover is te vinden: Hier


Antwoord 13

Ik kreeg dit als een foutieve foutmelding:
git pullwerkte prima op de cmd-regel
git pullis mislukt in een Perl CGI-proces (een webhook om automatisch te implementeren vanuit github) met de bovenstaande fout.

Het uitvoeren van een git statusidentificeerde een conflicterend bestand. Door het te sorteren was het probleem opgelost.

Het probleem deed zich later opnieuw voor toen ik enkele configuratie-instellingen wijzigde.

Deze keer losten het instellen van $HOME en $USER env vars dit op (standaard uitgeschakeld in een CGI-proces)


Antwoord 14

Bekijk het configuratiebestand.

Repository > Repository-instellingen > Configuratiebestand bewerken.

Controleer of de sectie [user]bestaat. Als het gebruikersgedeelte ontbreekt, voeg het dan toe.

Voorbeeld:

[user]
name = "your name"
email = "your email"

Antwoord 15

ik gebruik heroku cli
1. moet alle gebruikersnaam en e-mailadres van de gebruiker gebruiken

$git config –global user.email .login e-mail.

$git config –global user.name .heroku naam.

  1. git pull [git url]
  2. git init
  3. git add *

    5 git commit -m “na configuratie gebruiker.naam, e-mailadres gebruiker”

  4. git push heroku-meester


Antwoord 16

Ik gebruik Jenkins en kwam dit probleem tegen toen ik een release probeerde uit te voeren (waarvoor een git-commit vereist is). Om de problemen op te lossen, moest ik een aangepaste gebruikersnaam/e-mailadres toevoegen (zie afbeelding) Aangepaste gebruikersnaam/e-mailadresDit zorgde ervoor dat de code bij het uitchecken mijn build gebruikersnaam/e-mailadres bij het uitvoeren van de release. Let op, deze configuratie is beschikbaar via de Jenkins Multibranch Pipeline-projectconfiguratie.


Antwoord 17

git pullzou dit niet moeten vereisen.
Als de pull echter een merge-conflict veroorzaakt, lijkt het noodzakelijk.


Antwoord 18

IMHO, de juiste manier om deze fout op te lossen is om je globale git-configuratiebestand te configureren.

Voer hiervoor het volgende commando uit: git config --global -e

Er verschijnt een editor waarin je je standaard git-configuraties kunt invoegen.

Hier zijn er een paar:

[user]
    name = your_username
    email = [email protected] 
[alias]
    # BASIC
    st = status
    ci = commit
    br = branch
    co = checkout
    df = diff

Voor meer details, zie Git aanpassen – Git Configuratie

Als je een commando ziet zoals, git config

$ git config --global core.whitespace \
    trailing-space,space-before-tab,indent-with-non-tab

… je kunt dat in je globale git-configuratiebestand plaatsen als:

[core]
   whitespace = space-before-tab,-indent-with-non-tab,trailing-space

Voor eenmalige configuraties kun je zoiets gebruiken als git config --global user.name 'your_username'

Als je je git-configuraties niet globaal instelt, moet je dit doen voor elke git-repo waar je lokaal mee werkt.

De user.name en user.email instellingen vertellen git wie je bent, dus volgende git commitcommando’s zullen niet klagen, *** Please tell me who you are.

Vaak zijn de commando’s die git suggereert dat je uitvoert niet wat je zou moeten uitvoeren. Deze keer zijn de voorgestelde commando’s niet slecht:

$ git commit -m 'first commit'
*** Please tell me who you are.
Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

Tip: Totdat ik erg vertrouwd raakte met git, een back-up van mijn projectbestand maakte – voordat ik de voorgestelde git-commando’s uitvoerde en dingen verkende waarvan ik dacht dat ze zouden werken – bespaarde me meer dan een paar keer.

>


Antwoord 19

Ik kwam deze foutmelding tegen toen ik enkele bestanden probeerde vast te leggen.

Gewoon git fetchuitvoeren en vervolgens mijn commit opnieuw proberen werkte voor mij.


Antwoord 20

Om op te lossen gebruik ik: git config –global user.email “[email protected]” en werkt.

user.mail werkt niet, moet een E. Typfout worden geplaatst misschien?


Antwoord 21

Om de configuratie voor deze/huidige repo in te stellen, hoeft u alleen –global te verwijderen en naam/e-mail als volgt in te stellen:

$ git config user.name "John Doe" 
$ git config user.email "[email protected]" 

Antwoord 22

Dat is een typfout. U heeft per ongeluk “user.mail” zonder “e” ingesteld. Los het op door “gebruiker.email” in te stellen in de algemene configuratie met

git config –global user.email “[email protected]

Hier een oplossing gevonden

https://stackoverflow.com/a/14662703

Other episodes