Gitの使い方
ここではGitHubを使ったGitの使い方を説明する。
主なコマンド
clone
GitHub上にあるファイルをローカルにクローンする。
$ git clone https://github.com/your_username/your_repository.git
$ git clone git@github.com:your_username/your_repository.git
cloneを置きたいディレクトリで上のコマンドを実行すると、新たにリポジトリ名のディレクトリが生成される。
add
新規作成したファイルをGitにあげるにはcloneしているディレクトリに入って、以下のコマンドを実行する。 設定ファイルやソースファイルなどはGitにおいて管理するよ良い。その際、設定ファイルのあった場所にはcloneしたディレクトリへのショートカットを置いておく。設定ファイルにはユーザー名とパスワードが記述されているものが多いので、それらをアップロードしないように細心の注意を払うこと。Gitは履歴が残るので、たとえファイルを削除しても簡単には消えてくれない。
$ git add filename
commit
ファイルを追加または変更したら、以下のコマンドによりファイルの変更を確定する。commitすると、変更履歴が更新される。ローカルリポジトリでの変更が記録される。
$ git commit filename -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
- cloneしたいリポジトリに入って、
$ git clone github:username/repository.git
自分のレポジトリを使う
もともとあるリポジトリをclone
- cloneしたいリポジトリに入って、
$ git clone github:my_username/my_repository.git
- ファイルを編集する
- 変更を追加
$ git add .
- 変更をコミット
$ git commit -m "any comment"
- 変更をプッシュ
$ git push -u origin master
新たにリポジトリを作る
1.新しくリポジトリにするディレクトリ内に入って、
$ git init