Ich bin in einem Dreierteam. zwei arbeiten lokal und ich arbeite auf dem Server.
Mein Kollege hat das Konto eingerichtet, mir jedoch die vollständigen Berechtigungen für das Repository erteilt.
Ich habe meinen Benutzernamen und meine E-Mail-Adresse in git festgelegt:
git config --global user.name "bozdoz"
git config --global user.email [email protected]
und sie sind identisch mit meinem Benutzernamen und meiner E-Mail-Adresse auf bitbucket.org.
Aber wenn ich in das Repository ziehe oder schiebe, wird der Benutzername in der Eingabeaufforderung angezeigt:
Password for 'https://[email protected]':
Ich konnte eine Eingabeaufforderung für mein Passwort abrufen, nachdem ich versucht hatte, die URL mit meinem Benutzernamen abzurufen:
git pull https://[email protected]/path/repo.git
und es hieß aktuell; und als ich dann drückte, sagte es nein-fast-forward.
Ich habe gelesen, dass ich den Zweig angeben muss, aber ich weiß nicht, wie ich das in einer Push-Anweisung tun soll, während ich auch die Repo-URL spezifiziere:
git Push https://[email protected]/path/repo.git
Ich kann ziehen und pushen, wenn mein Kollege in der Nähe ist, und kann sein Passwort eingeben. Dies listet ihn aber auch als Autor des Pushs auf und nicht mich.
Wie kann ich einen Repo-Zweig als meinen eigenen Benutzernamen ziehen und pushen?
Lauf
git remote -v
und prüfen Sie, ob in der URL Ihres Ursprungs der Benutzername Ihres Kollegen fest codiert ist. Wenn ja, ersetzen Sie es mit Ihrem eigenen:
git remote set-url Origin <url-with-your-username>
Ich dachte, ich sollte meine Lösung teilen, da ich sie nirgendwo finden konnte, und fand sie nur durch Ausprobieren heraus.
Ich konnte in der Tat den Besitz des Repositorys auf ein Team auf BitBucket übertragen .
Don't füge die entfernte URL hinzu, die BitBuckets vorschlägt:
git remote add Origin https://[email protected]/teamName/repo.git
Stattdessen, fügen Sie die entfernte URL ohne Ihren Benutzernamen hinzu:
git remote add Origin https://bitbucket.org/teamName/repo.git
Auf diese Weise werden Sie beim Ziehen von oder Drücken auf ein Repo aufgefordert, Ihren Benutzernamen und dann Ihr Kennwort einzugeben: Jeder im Team hat Zugriff auf sie unter ihren eigenen Anmeldeinformationen. Dieser Ansatz funktioniert nur mit Teams auf BitBucket, obwohl Sie Benutzerberechtigungen für Repos mit einem Eigentümer verwalten können.
Die Eingabeaufforderung:
Password for 'https://[email protected]':
schlägt vor, dass Sie https nicht ssh verwenden. SSH-URLs beginnen mit git @, zum Beispiel:
[email protected]:beginninggit/alias.git
Selbst wenn Sie alleine mit einem einzigen Repo arbeiten, das Sie besitzen, ist die Operation:
git Push
wird verursachen:
Password for 'https://[email protected]':
wenn der entfernte Ursprung mit https
beginnt.
Überprüfen Sie Ihre Fernbedienung mit:
git remote -v
Die Fernbedienung ist abhängig von git clone
. Wenn Sie ssh verwenden möchten, klonen Sie das Repo mit seiner ssh-URL, zum Beispiel:
git clone [email protected]:user/repo.git
Ich schlage vor, Sie beginnen mit git Push
und git pull
für Ihr privates Repo.
Wenn das funktioniert, haben Sie zwei Vorschläge von Lazy Badger:
Nun, es ist Teil der BitBucket-Philosophie und des Workflows:
das heißt, Sie können (in der Regel) keine Auslands-Repo-Geschäfte mit eigenen Anmeldeinformationen abschließen.
Sie haben zwei mögliche Lösungen:
Sind Sie sicher, dass Sie nicht über SSH pushen? Vielleicht überprüfen Sie die mit Ihrem SSH-Schlüssel in Bitbucket verknüpfte E-Mail, wenn Sie eine haben.