Gitの使い方

ここではGitHubを使ったGitの使い方を説明する。

主なコマンド

clone

 GitHub上にあるファイルをローカルにクローンする。

$ git clone https://github.com/your_username/your_repository.git # https
$ git clone git@github.com:your_username/your_repository.git # ssh

 cloneを置きたいディレクトリで上のコマンドを実行すると、新たにリポジトリ名のディレクトリが生成される。

add

 新規作成したファイルをGitにあげるにはcloneしているディレクトリに入って、以下のコマンドを実行する。  設定ファイルやソースファイルなどはGitにおいて管理するよ良い。その際、設定ファイルのあった場所にはcloneしたディレクトリへのショートカットを置いておく。設定ファイルにはユーザー名とパスワードが記述されているものが多いので、それらをアップロードしないように細心の注意を払うこと。Gitは履歴が残るので、たとえファイルを削除しても簡単には消えてくれない。

$ git add filename

commit

ファイルを追加または変更したら、以下のコマンドによりファイルの変更を確定する。commitすると、変更履歴が更新される。ローカルリポジトリでの変更が記録される。

$ git commit -m 'message'

push

 commitしたら、cloneしているディレクトリに入って、

$ git push -u origin master

を実行すると、Git上のファイルが更新される。

pull

 ほかの場所で更新した内容をこのPCにも反映させるには、cloneしているディレクトリに入って、以下のコマンドを実行する。

$ git pull

diff

変更の差分を表示する。

$ git diff filename

SSHの設定

GitHubに繋ぐには、httpsとsshの2通りある。httpsの場合、UserIDとPasswordを入力する必要があるため、セキュリティに不安がある。そこでSSHを使って接続してみる。この場合、SSH鍵のPasswordのみで通信できる。SSH鍵にパスワードをかけなければ、passwordなしで、公開鍵認証の安全な通信ができる。

設定の手順

鍵の作成

ホームディレクトリに.sshディレクトリがない場合

$ mkdir ~/.ssh

共通

$ cd ~/.ssh
$ ssh-keygen -t ecdsa -C "for github"

この時ファイル名とパスワードを求められるが、ファイル名は空欄で良い。パスワードは任意。なくても大丈夫。

次に以下のファイルを開く。

$ sudo vim config

ここで、以下を記述または追記

Host github
	User			git
	HostName		github.com
	Port			22
	IdentityFile	~/.ssh/id_ecdsa

鍵の登録

次に、ブラウザからGitHubにログインして、画面右上のアイコン→Settings→SSH keys→Add SSH keyってところで先ほどの~/.ssh/id_ecdsa.pubの内容を貼り付ける。

新たにcloneするときは

$ git clone https://your_usermame/your_repository.git

の代わりに

$ git clone github:your_username/your_repository.git

でcloneすればよい。

すでにcloneしているまたは、新しくinitしたときは

すでにcloneしているリポジトリや、新たなリポジトリでさっき設定したSSHを使うには、リポジトリの設定を変更すればよい。

$ git remote set-url origin github:your_username/your_repository.git

Gitを使う手順

初期設定

自分の情報を登録する

$ git config --global user.name "Your Name"
$ git config --global user.email "your_email@smaple.com"
$ git config --global core.editor vim (or emacs)

設定の確認

$ git config --list

他人のリポジトリをclone

  1. cloneしたいリポジトリに入って、
$ git clone github:username/repository.git

自分のレポジトリを使う

もともとあるリポジトリをclone

  1. cloneしたいリポジトリに入って、
$ git clone github:my_username/my_repository.git
  1. ファイルを編集する
  2. 変更を追加
$ git add .
  1. 変更をコミット
$ git commit -m "any comment"
  1. 変更をプッシュ
$ git push -u origin master

新たにリポジトリを作る

1.新しくリポジトリにするディレクトリ内に入って、

$ git init