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 master
te 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 init
en commit
voor git.
En ik vond dat de workflow zou moeten zijn als:
git init
git config user.name "someone"
git config user.email "[email protected]"
git add *
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 pull
te 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}/.gitconfig
te 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.
- git init
- git add *
- 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 pull
werkte prima op de cmd-regel
git pull
is mislukt in een Perl CGI-proces (een webhook om automatisch te implementeren vanuit github) met de bovenstaande fout.
Het uitvoeren van een git status
identificeerde 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.
- git pull [git url]
- git init
-
git add *
5 git commit -m “na configuratie gebruiker.naam, e-mailadres gebruiker”
-
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) Dit 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 pull
zou 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 commit
commando’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 fetch
uitvoeren 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