2016-08-04 13 views
1

私の苦境:Git統合アプリケーションは、私がマスターブランチにプッシュできることをどのように知っていますか?

私はVisual Studio and Bracketsを使用します。どちらもGitを統合することができますが、Visual StudioはGitLab上のリポジトリと対話し、ブラケットはGithub上のリポジトリと会話します。

各アプリケーションは、各Webサイトのアカウントが異なるパスワードで作成されていても、各リポジトリのマスターブランチにプッシュできることをどのように知っていますか?

私はどのように他の単語にこれをするわからないんだけど、他の正接:

Visual Studioで、私は、グローバルユーザ名と電子メールを上書きすることができます。別の電子メールでリポジトリをセットアップしたときのためのものですか?誰かが私の電子メールを持っていたら、私のリポジトリのマスターブランチにプッシュできませんでしたか?

Gitはどのように知っていますか?私は良い説明が必要です。

答えて

1

GUI GitlabまたはGitHubにログインするときにユーザーを認証するための資格情報は、コンピュータのGitクライアントプログラムがそれぞれのリモートリポジトリからプッシュ/プルするときの認証に使用する資格情報と同じである必要はありません。

ここではSSHが使用されていると仮定します。明白なことではなく、使用しているツールによって。リモートリポジトリと通信し、IDEにパスワードを入力していないGit操作を実行するたびにパスワードを入力しないと、はSSHを使用してになることは間違いありません。

非常に一般的なSSHプロトコルをプッシュ/プルすると、コンピュータのキーペアがIDEによって使用されるコンピュータのGitクライアントによって使用されているため、GitlabとGitHubの両方で認証されます。暗号鍵ペアは、電子メールやパスワードとはまったく関係ありません。他のユーザーの中には秘密鍵へのアクセス権がなく、おそらくあなたの公開鍵もないため、SSHで認証することができません。

私はあなたのために何かを明確にすることができますか教えてください!

+0

大変申し訳ありませんが、もっと意味がありますが、私はSSHを使用していないので、自分のソフトウェアもどちらかとは考えていません。私は単にプログラムを起動してGitを使い始めました。私はマスターと同期をとることができました。これは、ソフトウェアが私のマシン上でグローバルなgitユーザーを得て、それがリポジトリをホストしているものと一致することがわかったからですか? 私はGit Clientを使って自分のパスワードを入力したので、自分のマシンをそのユーザとして「設定」すると思います。それで、GitHubのために設定すれば、それはGitLabでもどういう仕組みですか? – asblargh

+0

お使いのコンピュータでの資格情報のキャッシュは、使用しているOSと構成によって異なります。参照:https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage SSHの代わりにhttpsを介してサーバーと通信している可能性があるので、私は言います。 SSHを使用しているかどうかを再確認するには、GithubとGitlabのGUIにログインし、アカウント設定に行き、キーを表示します。あなたのローカルマシンに存在するキーとそこに住んでいるキーとを比較してください。何もない、または一致するものがなければ、あなたの資格はキャッシュされなければなりません。そうでなければあなたはSSHを使用しています! – rdgd

+0

Mac OSXまたはLinuxの場合は、リモートGitサーバーの認証キーとして公開されている公開キーが、 '〜/ .ssh/id_rsa.pub'の場所にあります。ファイル名 'id_rsa.pub'はrsa公開鍵の最も一般的な/デフォルト名です。 – rdgd

関連する問題