web-dev-qa-db-ja.com

gitとbitbucketで独自のユーザー名/パスワードを使用する

私は3人のチームです。 2つはローカルで動作し、私はサーバーで動作しています。

同僚はアカウントを設定しましたが、リポジトリに対する完全な権限を与えてくれました。

Gitでユーザー名とメールアドレスを設定します。

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

そして、それらは私のユーザー名とbitbucket.orgのメールと同じです。

しかし、リポジトリにプルまたはプッシュすると、プロンプトでユーザー名が示されます。

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

ユーザー名でURLを示すことでプルしようとした後、パスワードのプロンプトを取得できました。

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

そして、それは最新であると言いました。そして、私がプッシュしたとき、それは早送りをしませんでした。

ブランチを指定する必要があると読みましたが、レポジトリURLも指定している間、Pushステートメントでそれを行う方法がわかりません。

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

同僚が近くにいてパスワードを入力できる場合は、プルしてプッシュすることができます。しかし、これは彼をプッシュの著者としてリストし、私ではありません。

自分のユーザー名としてリポジトリブランチにプルしてプッシュするにはどうすればよいですか?

54
bozdoz

走る

git remote -v

originのURLに同僚のユーザー名がハードコードされているかどうかを確認します。もしそうなら、あなた自身でそれを置き換えます:

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

どこでも見つけることができず、試行錯誤でしか解決できなかったため、ソリューションを共有する必要があると考えました。

実際、リポジトリの所有権を BitBucketのチーム に譲渡することができました。

Do n'tBitBucketsが提案するリモートURLを追加します:

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

代わりに、ユーザー名なしでリモートURLを追加します:

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

このように、レポジトリからプルまたはプッシュを行うと、ユーザー名、パスワードの入力を求められます:チームの全員が持っています自分の資格情報でアクセスします。この方法は、単一所有者のリポジトリでユーザー権限を管理できる場合でも、BitBucketのチームでのみ機能します。

61
bozdoz

プロンプト:

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

sshではなくhttpsを使用することをお勧めします。 SSHのURLはgit @で始まります。次に例を示します。

[email protected]:beginninggit/alias.git

所有している単一のレポで単独で作業している場合でも、操作は次のとおりです。

git Push

原因:

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

リモートOriginがhttpsで始まる場合。

以下を使用してリモコンを確認します。

git remote -v

リモートはgit cloneに依存しています。 sshを使用する場合は、そのssh urlを使用してレポジトリを複製します。次に例を示します。

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

プライベートリポジトリの場合は、git Pushおよびgit pullから始めることをお勧めします。

それが機能する場合、Lazy Badgerによって提案された2つの喜びがあります。

  • プルリクエスト
  • チームワーク
12

まあ、それはBitBucketの哲学とワークフローの一部です:

  • リポジトリに所有できるユーザーは1人のみです:所有者
  • 通常のアカウント(エンドユーザー)のコラボレーションでは、「fork-pull request」ワークフローが必要です

つまり、(通常の場合)自分の資格情報で外部リポジトリにコミットすることはできません。

次の2つの解決策があります。

  1. 「クラシック」BB-way:fork repo(youリポジトリが所有)、変更を行い、Pull要求をOriginリポジトリに送信
  2. 「チーム」の作成 、ユーザーアカウントをチームのメンバーとして追加し、リポジトリのチーム所有者を作成します-この場合、すべてのチームメンバーが自分の資格情報でプッシュできるこの「共有中央」リポジトリの場合-検査 thg リポジトリおよび TortoiseHg Team 、サンプルとしてのこのリポジトリの所有者
3
Lazy Badger

SSH経由でプッシュしていませんか?もしあれば、SSHキーに関連付けられた電子メールをbitbucketで確認してください。

2
Baloneysammitch

私自身のプライベートレポのために、私は使用します

[email protected]:username/blog.git

取り替える

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

2
jadeydi