実現したいこと
GitHubで非公開しても、招待していないメルアドでCloneが可能なのは、仕様なんでしょうか。
仲間内でのプログラムソース、仕様書の類 GITで共有しようとしています。
GitHubを使い共有を考えています。
発生している問題・分からないこと
GitHubの Seting の Danger Zone > Change repository visibility This repository is currently private.
を Privateにし、 collaborators で共有相手の メルアドを設定しました。
相手に リモートレジストリの招待メールは、送られます。
この状態で、非公開レジストリになり、本人と招待メルアド以外からのアクセスは不可になると理解していました。
ところが、他メルアドからRegistoryクローンを試みると、クローンできてしまい、ソースコードが公開されました。
この動作は、仕様なんでしょうか。
Close要員での 共有は、このような使い方は、できないのでしょうか。
自前でGitサーバーを立てるのは、スキル的にハードルが高いです。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ネット検索での記事は、
GitHubの Setting の Danger Zone で Private設定する
という記事で、振る舞いについては、見つけられませんでした。
補足
特になし
現状privateになっているならcloneはできないと思います。
sshでcloneしたりしてないですか?
早速のご回答ありがとうございます。
totoiseGit の Gitクローンで取得できてしまいます。
別々の回線を用意 一つは、家庭プロバイダー下のローカルネット。もう一つは、LTE-PCで WAN接続
ローカルで設定した Git-private リポジトリが、 LTE-PCで取得できてしまいます。
互いに異なる Emailにしています。
privateになっているならcloneはできないです。 それで安心できるならこの質問は終了ですが、じゃなぜ
「他メルアドからRegistoryクローンができてしまうのか」を理解したいのなら状況を詳しく知る必要があります。一番疑わしいのは「他メルアド からのgithubアクセスが jbg01040さんのgithubアカウントで行われて居た」ということです。satoshih さんの「sshでcloneしたりしてないですか?」は同じ疑いからの質問です。
質問1「他メルアドからRegistoryクローンを試みる」の「他メルアドから」というのは具体的にはどうやったのでしょうか?
質問2 totoiseGit へのssh key の設定で jbg01040 さんの 秘密鍵を登録してませんか?
GitHubの話でなくてすいませんが、同一LAN内ならJREをインストールして warファイルを動かすだけで Git のホスティングができる GitBucket https://gitbucket.github.io/ というソフトが あるということを紹介しておきます。
>具体的にはどうやったのでしょうか?
他のPCの GitBashで
$git config --global user.name="xxxx"
$git config --global user.email= "xxxx.xxx@xxxx.xxx"
と設定し、github 設定者と異なる Login情報で gitBash設定しました。
そのもとで
get clone "https://..(prolvate)レポジトリ." を行ったところ、Cloneできてしまいました。
結論からいいます。 SSHの公開鍵、秘密鍵のレベルではないようです。
totoiseGitからの Cloneだけでなく、GitBashで直接たたいても、同様の現象でした。
しかし、
物理的に別回線のPCの仮想WindowsにGitをインストールして、同様のことを行うと、(SSH 未設定)
public指定のときは、 Cloneレポジトリは取得できます。
Private指定のときは、Cloneレポジトリ取得時に、 Id/Passwordの確認画面がでました。 (期待した動きです。)
一度疎通した情報を握ったままになっていたのか、追及しきれませんでしたが、GitHubを Closeな世界でもある程度つかえそうな印象を持ちました。
お騒がせして、申し訳ありませんでした。
こちら解決済みで良かったでしょうか。一応解説すると、以下はコミット用の設定であって、Githubの認証情報ではありません。
$git config --global user.name="xxxx"
$git config --global user.email= "xxxx.xxx@xxxx.xxx"
認証をやり直したい場合は、Windowsならスタート>資格情報マネージャー > Windows資格情報 > git:https://github.com を削除すると認証情報を消すことができます。
コマンドで削除する場合は、以下の順番で入力すると削除できます。
git credential-manager erase
protocol=https
host=github.com
以下もご参照ください
https://zenn.dev/dzeyelid/articles/51b206dec9f740
https://qiita.com/pixar2867/items/314746ef3036fa856df5
ご解説ありがとうございます。
誤解していました。資格情報の在り方が無知でした。
すいません。このタスクを解決済にしたいのですが、ボタンが見当たらないのですが、どうすればいいですか
> すいません。このタスクを解決済にしたいのですが、ボタンが見当たらないのですが、どうすればいいですか
下記ヘルプをご参考にしてください。
https://teratail.com/help#resolve-myself
と思ったのですが、、、Ognacさんは質問者さん(jbg01040)ではなかったですね。文言から間違えてしまいました。
チームの方?なのか、別ユーザーでログインしたのかは不明ですが、一応回答に内容を記載させて頂きました。
同一端末を共有していまして、皆様及び、Ognac様にご迷惑おかけしました。
勉強になりました。ありがとうございました。
回答1件
あなたの回答
tips
プレビュー