&tag(git,github); *目次 [#qd2faee7] #contents *参考情報 [#s65b4831] -[[github で人のコードをいじる「前」にforkする必要はない - Bulknews::Subtech - subtech:http://subtech.g.hatena.ne.jp/miyagawa/20090114/1231910461]] -[[gitでforkなどを経験してみた(またはwassr2twitterを導入) - ただのにっき(2009-05-14):http://sho.tdiary.net/20090514.html]] -[[Subversion ユーザーが GitHub を使ってみたよ (その2: 他人のプロジェクト編) - まちゅダイアリー(2010-07-05):http://www.machu.jp/diary/20100705.html#p01]] *基本 [#j460a31c] -無料アカウントで使えるのは300MBまで。 *ソースをダウンロードする方法 [#xc047f04] **直接ダウンロード [#nab3b37d] "Download"→"Download Sources"でダウンロードする。 **git cloneする [#ta4f3bfc] http://github.com/xxx/yyy.git の部分をコピーして git cloneを実行する。 git clone http://github.com/xxx/yyy.git *アカウント設定 [#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 }} *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を押すとクローンされる。 *Tips [#f945cc50] **fork後に元リポジトリの変更に追随する [#tf21e64e] [[githubでforkしたあとに元のリポジトリの更新を取り込む方法 - Clouder::Blogger:http://blog.clouder.jp/archives/001129.html]]によると次のようにすればいいらしい。 #pre{{ $ git remote add foo git://元のリポジトリ $ git pull foo }} **個別ファイルのダウンロード [#k0cbb57a] -Raw→名前をつけて保存 *トラブルシューティング [#n1f3c2d1] **Downloadsタブがみつからない!? [#ye354731] -[[Goodbye, Uploads · GitHub Blog:https://github.com/blog/1302-goodbye-uploads]]によると2012/12/11日にDownloadsタブがなくなるというアナウンスがある。それ以前のダウンロードはしばらく有効みたいだけどいずれなくなるっぽい。