#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を押すとクローンされる。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS