web-dev-qa-db-fra.com

Utiliser son propre nom d'utilisateur / mot de passe avec git et bitbucket

Je suis dans une équipe de trois; deux travaillent localement et je travaille sur le serveur.

Mon collègue a configuré le compte, mais m'a donné tous les privilèges sur le référentiel.

J'ai défini mon nom d'utilisateur et mon email dans git:

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

et ils sont identiques à mon nom d'utilisateur et à mon email sur bitbucket.org.

Mais lorsque je tire ou Push vers le référentiel, il indique leur nom d'utilisateur dans l'invite:

Password for 'https://[email protected]':

J'ai pu obtenir une invite pour mon mot de passe après avoir essayé d'extraire en indiquant l'URL avec mon nom d'utilisateur:

git pull https://[email protected]/path/repo.git

et il a dit mis à jour; et puis quand j'ai poussé, il a dit non-avance rapide.

J'ai lu que je devais spécifier la branche, mais je ne sais pas comment le faire dans une instruction Push alors que je spécifie également l'URL du référentiel:

git Push https://[email protected]/path/repo.git

Je suis capable de tirer et pousser si mon collègue est autour et peut mettre son mot de passe po Mais cela est également la liste comme l'auteur de la poussée, et pas moi.

Comment puis-je tirer et pousser vers une branche de dépôt sous mon propre nom d'utilisateur?

54
bozdoz

Courir

git remote -v

et vérifiez si le nom d'utilisateur de votre collègue est codé en dur dans l'URL de votre origine. Si oui, remplacez-le par le vôtre:

git remote set-url Origin <url-with-your-username>
72
Erik van Zijst

J'ai pensé que je devrais partager ma solution, étant donné que je ne pouvais la trouver nulle part, et que je ne l'avais trouvée que par essais et erreurs.

J'ai en effet pu transférer la propriété du référentiel à ne équipe sur BitBucket .

Don't ajoutez l'URL distante suggérée par BitBuckets:

git remote add Origin https://[email protected]/teamName/repo.git

À la place, ajoutez l'URL distante sans votre nom d'utilisateur:

git remote add Origin https://bitbucket.org/teamName/repo.git

De cette façon, lorsque vous allez extraire ou pousser vers un dépôt, , il vous invite à entrer votre nom d'utilisateur, puis votre mot de passe : tous les membres de l'équipe ont l'accès à celui-ci sous leurs propres pouvoirs. Cette approche ne fonctionne qu'avec des équipes sur BitBucket, même si vous pouvez gérer les autorisations des utilisateurs sur des pensions à un seul propriétaire.

61
bozdoz

L'invite:

Password for 'https://[email protected]':

suggère que vous utilisez https et non ssh. Les URL SSH commencent par git @, par exemple:

[email protected]:beginninggit/alias.git

Même si vous travaillez seul, avec un seul dépôt que vous possédez, l'opération:

git Push

provoquera:

Password for 'https://[email protected]':

si l'origine distante commence par https.

Vérifiez votre télécommande avec:

git remote -v

La télécommande dépend de git clone. Si vous souhaitez utiliser ssh, clonez le référentiel à l'aide de son URL ssh, par exemple:

git clone [email protected]:user/repo.git

Je vous suggère de commencer par git Push et git pull pour votre dépôt privé.

Si cela fonctionne, vous avez deux solutions proposées par Lazy Badger:

  • Demandes de tirage
  • Travail en équipe
12

Cela fait partie de la philosophie et du flux de travail de BitBucket:

  • Le référentiel ne peut avoir qu'un seul utilisateur: le propriétaire
  • Pour les comptes ordinaires (utilisateurs finaux), la collaboration attend le flux de travail "demande d'extraction"

c'est-à-dire que vous ne pouvez pas (dans le cas habituel) vous engager dans une prise en pension étrangère avec vos propres informations d'identification.

Vous avez deux solutions possibles:

  1. "Classique" BB-way: repo fork (appartenant à , vous référentiel), apportez des modifications, envoyez une demande d'extraction au référentiel Origin
  2. Créer "Équipe" , ajouter des comptes d'utilisateurs en tant que membres de l'équipe, attribuer à l'équipe le propriétaire du référentiel - par exemple, pour ce référentiel "Partagé en centre", chaque membre de l'équipe peut utiliser ses propres informations d'identification - inspecter thg référentiel et Équipe TortoiseHg , propriétaire de ce référentiel, à titre d'exemple
3
Lazy Badger

Êtes-vous sûr de ne pas pousser SSH? Peut-être vérifiez-vous l’email associé à votre clé SSH dans bitbucket si vous en avez un.

2
Baloneysammitch

Pour moi-même repo privé, j'utilise

[email protected]: nom d'utilisateur/blog.git

remplacer

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

2
jadeydi