読者です 読者をやめる 読者になる 読者になる

のぴぴのメモ

自分用のLinuxとかの技術メモ

gitの初期設定をしてGitHubからレポジトリをcloneするまでの手順

git

はじめに

PCを再セットアップした後、いつも設定方法を忘れてgoogleさんに聞いて面倒なので、まとめました。

git初期設定

ユーザ設定&pushモード設定

(1)メールアドレス、(2)名前、(3)push時のモードを指定して、最後に設定内容を確認。

$ git config --global user.email "xxxxxxx@gmail.com"
$ git config --global user.name "xxxxxxxx"
$ git config --global push.default simple

$ git config --global -l

SSH秘密鍵設定

githubへのssh接続を鍵認証で行う場合の設定。

  • 秘密鍵: "~/.ssh/id_rsa"に保存(※1)
  • 公開鍵:githubページから"Settings"->"SSH and GPG keys"で公開鍵を登録

※1 秘密鍵パーミッションは、".ssh/"ディレクトリは700、秘密鍵(id_rsa)ファイルは600。GitHub専用の秘密鍵にしたい場合は後述。

GitHubからcloneする

(既存レポジトリがない場合)新規にレポジトリの作成

  • "New repository"からレポジトリを作成
  • 必要な項目を設定
    • レポジトリ名を指定(Repository name)
    • "Initialize this repository with a README"をチェック
    • "Add .gitignore"で開発したい言語のgitigonreテンプレを選択
    • "Add a license"で開発するブツのライセンスを指定(Apache LicenseとかGPLv3とか)
  • "Create repository"でレポジトリを作成

レポジトリをcloneする

  • GithubのページからURLをコピーする
    • cloneしたいgithubレポジトリページを開き、
    • 緑のボタン"Clone or download"のプルダウンから
    • 表示されているURLをコピーする

f:id:nopipi:20161009161338p:plain

  • gitコマンドでcloneする
    • 格納したいディレクトリに移動し
    • "git clone <コピーしたURL>"でデータをローカルにcloneする
$ git clone https://github.com/Noppy/uplogger.git
Cloning into 'uplogger'...
remote: Counting objects: 254, done.
remote: Total 254 (delta 0), reused 0 (delta 0), pack-reused 254
Receiving objects: 100% (254/254), 382.28 KiB | 226.00 KiB/s, done.
Resolving deltas: 100% (141/141), done.
Checking connectivity... done.

(追伸)ssh秘密鍵GitHub専用ファイルに分けて指定したい時

gitコマンドでは直接sshの鍵設定ができないので、sshコマンドの設定ファイル(~/.ssh/config)を駆使したりする。他に環境変数で設定するとかもあるらしい。

vi ~/.ssh/config
Host github
    User git
    Port 22
    HostName github.com
    IdentityFile   ~/.ssh/gitub_id_rsa
    IdentitiesOnly yes

説明

  • ユーザは、"git"固定
  • ホスト名、ポート番号は、"github.com"で22番ポート
  • IdentityFileで、GitHub専用の秘密鍵ファイルのパスを指定する。
  • "IdentitiesOnly yes"で認証で利用する秘密鍵をIdentityFileで指定したファイルのみに限定する