GitHub ローカルとリモートの接続開始方法
・あらかじめGitHubのアカウントを取得しておく
・ターミナルでユーザー名とemailを登録する
git config --global user.name "ユーザーネーム" git config --global user.email メールアドレス
・SSHの鍵を取得する
$ ssh-keygen -t rsa -b 4096 -C "メールアドレス"
* -t オプション 鍵のタイプを指定
* -b オプションで、鍵の長さを指定 (鍵が短いとセキュリティ的に危険)
* ssh-keygenのデフォルト値2,048ビットのまま生成・利用される場合も多い
* GitHubの推奨は4,096ビット
* より安全性の高い値を利用
* -C オプションで、鍵にコメントを付加。なくても問題なし
* 複数の鍵を管理するときは、何の鍵なのかを分かりやすくするため、 コメントを有効的に利用
・鍵の生成場所とファイル名を確認する
Enter file in which to save the key (/Users/hoge/.ssh/id_rsa): /Users/hoge/.ssh/id_rsa_github
・パスフレーズ入力画面でパスフレーズを入力せずenterで進む
Enter passphrase (empty for no passphrase): 【パスフレーズを入力。画面には表示されません】 Enter same passphrase again: 【パスフレーズを入力。画面には表示されません】
・公開鍵が作成される
+---[hogehoge]----+ | | | .o | | o o . | +----[hogehoge]——+
・生成時に指定した場所に鍵が作られるので確認
$ ls ~/.ssh/id_rsa_github* /Users/hoge/.ssh/id_rsa_github /Users/hoge/.ssh/id_rsa_github.pub
・SSHのconfigファイルを編集
GitHubへSSH接続する際に、どの秘密鍵を指定するのかを管理する
以下の設定を、ファイルが存在しない場合は新規作成し、すでにあれば追記
$ vim ~/.ssh/config Host github HostName github.com User git IdentityFile ~/.ssh/id_rsa_github
この設定により、ssh githubと入力するだけで、ここで指定したホスト名、ユーザー名、秘密鍵が自動で指定される
cat /Users/hoge/.ssh/id_rsa_github.pub | pbcopy
・github側のsettingからsshkeyの登録
・~/.gitconfigに以下を追記する
参考
カレントブランチと同名のリモートブランチがあれば、そこに pushする設定
[push] default = current
・cloneする
[先にX-codeでプロジェクトディレクトリがあらかじめ作成されている場合]
参考
https://help.github.com/articles/adding-a-remote/
git remote add origin [リモートリポジトリのSSHのcopy] git push --set-upstream origin master
[先にGitHubでリポジトリを作成してからcloneする場合]
参考
git clone [リモートリポジトリのSSHのcopy]
[コマンド]irb ターミナル上でファイルを作成せずにプログラムを実行するコマンド
➜ ~ irb irb(main):001:0> a = [1,2,3] => [1, 2, 3] irb(main):002:0> a.size => 3
irbとターミナルに打つことでその場でプログラムが実行できる
vimでよく使うもの
h (左) j (下) k (上) l (右)
yy でコピー
dd で削除
xで1文字削除
esc ノーマルモード
i カーソル位置から編集モード
0 行の先頭に移動
$ 行の最後に移動
/キーワード 検索
1番目と2番目のコミットを合体させて、2番目だけ別にする場合
git rebase -i --keep-empty --autosquash $(git show-branch --merge-base master HEAD)
viで別にしたいコミットをコピーして一番下へ 合体させたいコミットを二番目へ 合体させたいコミットのpickをfに書き換える
git push --force-with-lease
end_with?(" ") 文字列の末尾に特定の文字が含まれるか調べる
word = axis if word.end_with?("s") p word end