web-dev-qa-db-de.com

Benutze deinen eigenen Benutzernamen / Passwort mit git und bitbucket

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?

54
bozdoz

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>
72
Erik van Zijst

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.

61
bozdoz

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:

  • Pull-Anfragen
  • Zusammenspiel
12

Nun, es ist Teil der BitBucket-Philosophie und des Workflows:

  • Das Repository darf nur einen Benutzer haben: Eigentümer
  • Für die Zusammenarbeit mit normalen Konten (Endbenutzern) ist der Workflow "Fork Pull Request" zu erwarten

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:

  1. "Klassischer" BB-Weg: Fork Repo (Eigentum von Ihnen Repository), Änderungen vornehmen, Pull-Anfrage an Origin Repo senden
  2. "Team" erstellen , Benutzerkonten als Mitglieder des Teams hinzufügen, Team-Besitzer des Repositorys machen - in diesem Fall für dieses "Shared Central" -Repository, das jedes Teammitglied unter eigenen Anmeldeinformationen pushen kann - inspizieren thg Repository und TortoiseHg Team , Eigentümer dieses Repositorys, als Beispiele
3
Lazy Badger

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.

2
Baloneysammitch

Für mich privat repo benutze ich

[email protected]: Benutzername/blog.git

ersetzen

https://[email protected]/username/blog.git

2
jadeydi