#author("2022-04-23T05:41:54+00:00","default:src128","src128") &tag(github/はじめの一歩); *目次 [#o914e068] #contents *関連ページ [#ve00590a] *参考情報 [#q201740a] *アカウント設定 [#fbdc0df1] **SSH keyを登録する(Macの場合) [#af107ed5] -SSH keyを登録してないとできないことが多いので登録する。 -[[Generating SSH Keys · GitHub Help:https://help.github.com/articles/generating-ssh-keys]]を見て順にやっていけばよい。 ***キーの生成 [#g4ac6d24] -使用するキーペアを持っている場合はスキップ。 -ssh-keygenを使ってキーペアを生成する。パスフレーズはできるだけ強いものを。最後の引数は自分のメールアドレスとする。 #pre{{ $ ssh-keygen -t rsa -C "aaa@bbb.com" }} -そのまま作成すると、~/.ssh/id_rsa(秘密鍵)と、~/.ssh/id_rsa.pub(公開鍵)が作成される(作成途中で変更できる)。 -このままだと分かりづらいので、秘密鍵の名前は変えておく mv ~/.ssh/id_rsa ~/.ssh/id_rsa.src256@github ***GitHubアカウントにキーを追加 [#uec982e6] -アカウントページのSSH Public Keys→add another public keyでキーを貼り付ける。 -貼り付けるのはid_rsa.pubの中身。pbcopyコマンドを使ってクリップボードにファイルの中身を転送できる。 #pre{{ $ cat ~/.ssh/id_rsa.pub | pbcopy }} ***成功したかどうか確認 [#ma0cbdc1] -秘密鍵の名前を変更している場合、-i 秘密鍵名 が必要。 [#bc10a336] ssh -T git@github.com -i ~/.ssh/id_rsa.src256@github -成功したら次のメッセージが表示される。 Hi src256! You've successfully authenticated, but GitHub does not provide shell access. ***~/.ssh/configを使って簡略化[#scfe5068] -通常のsshアクセスのように~/.ssh/configを使ってアクセスを簡略化できる #pre{{ Host githubsrc256 User git Hostname github.com IdentityFile ~/.ssh/id_rsa.src256@github }} **複数アカウントを使い分ける [#d1caa8e6] -ホストに対して複数の鍵を登録したら使い分けてくれるらしい([[GitHubで複数アカウントを使うときの鍵の設定 - 思っているよりもずっとずっと人生は短い。:http://d.hatena.ne.jp/takahashim/20100603/p1]])。 #pre{{ Host github.com IdentityFile ~/.ssh/some_id.ppk IdentityFile ~/.ssh/another_id.ppk }} -それか以下の様にエイリアスを設定 #pre{{ Host github_a User git Hostname github.com IdentityFile ~/.ssh/user_a.ppk IdentitiesOnly Yes Host github_b User git Hostname github.com IdentityFile ~/.ssh/user_b.ppk IdentitiesOnly Yes }} -ただしこの場合2個目のアカウントで"IdentitiesOnly Yes"を指定しないしないとだめで、そうするとパスフレーズはキーチェインに保存されなくなる。[[Mac で ssh config を設定した後、 「Too many authentication failures for xxxx」エラーへの対応をして、さらに鍵使用時に毎回パスフレーズを訊かれないようにする。 - modifiedの日記:http://d.hatena.ne.jp/modified/20120612/1339492459]]にあるように、パスフレーズをキーに埋め込むしかない? -当然cloneするときも、git@github_aのようにエイリアスを使ってcloneしないといけない。 -https形式でcloneしたほうが楽かも。 **HTTPS接続でpush [#w72aac43] -そのままだとパスワードを聞かれたりそもそもpushに失敗したりするので.netrcを準備する。.netrcのパーミッションは600。 #pre{{ machine github.com login src256 password xxxxxxx }} *Macを使って最初の一歩 [#a64c3e8b] **リポジトリを作成 [#vfc2adce] -https://github.com/new で新しいリポジトリを作成。例えばtestrepo.git **リポジトリをclone [#f9b6e428] -リポジトリ一覧にtestrepoが表示されているのでそれを開く。 -sshのところのURLを使ってcloneする git@github.com:src256/testrepo.git **ファイルを追加など [#kfab7e7c] -普通に作業する vi README.txt git add . git commit -m "add README.txt" **リポジトリにpush [#k36dc980] -簡単にpushできる git push *クローン [#md315e55] **TortoiseGitを使ってクローン生成 [#f26d0ceb] -エクスプローラーで適当なフォルダで右クリックし[Git clone」を選択する。 -URLを設定する。githubのリポジトリを表示し、git@github.com:src256/oauthconsumer.gitのようなURLをコピーする。 -sshの秘密鍵を指定する。Load Putty Keyからgithub用の秘密鍵を指定する(Putty用なので拡張子*.ppkの鍵になる。MacなどOpenSSHで鍵を生成した場合Putty Key Generatorで鍵を変換しておく)。 -OKを押すとクローンされる。