のぴぴのメモ

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

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

はじめに

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

git認証情報の自動保存設定

# Linuxで認証情報を保存したい場合
git config --global credential.helper store

git Proxy設定(必要があれば)

git config --global http.proxy http://proxy.example.com:3128
git config --global https.proxy http://proxy.example.com:3128

git を使いやすくする設定

コミットログを見やすくするコマンドのエリアス

~/.gitconfigに下記を追加

[alias]
    lga = log --graph --all --pretty=format:'%C(red)%h %C(reset)-%C(yellow)%d%C(reset) %s %C(green)(%cr) %C(bold blue)<%an>%C(reset)'
    lg  = log --graph       --pretty=format:'%C(red)%h %C(reset)-%C(yellow)%d%C(reset) %s %C(green)(%cr) %C(bold blue)<%an>%C(reset)'
  • 使い方: git lga、またはgit lgと実行

SSH秘密鍵設定

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

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

※1 秘密鍵パーミッションは、".ssh/"ディレクトリは700、秘密鍵(id_rsa)ファイルは600。SSH鍵がない場合は、"ssh-keygen"コマンドで鍵を作成する。なおGitHub専用の秘密鍵にしたい場合は後述。

シェル設定

シェルのプロンプトにブランチ名を表示する

こんな感じでプロンプトにgitブランチ名を表示できるようにします。

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をコピーする

  • 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で指定したファイルのみに限定する