Gitの使い方【git pushまでの流れ】
それでは先ほどのプロジェクトをgitで保存していきましょう。
まずはgit pushまでの大まかな流れを紹介します。
SSH公開キーの登録【初回のみ】
githubに対して、あなたがpush(データのアップロードを)する際にgithubが「あなたがアカウントの持ち主であるかを確認する手段」だと思ってください。
つまり、登録をしておかないとエラーでプッシュできません。
(初回だけでいいのですが、既に自分のパソコンから登録している人もCloud9を利用する際には再度登録が必要です。)
それでは以下の手順でSSH公開キーを登録していきましょう。
SSH公開キーの登録
①SSH公開キーの作成
②githubへの登録
①SSH公開キーの作成
それではSSH公開キーを作成していきましょう。
まずは、ホームディレクトリーの.sshディレクトリーに移動してください。
$ cd ~/.ssh
//ssh関係のファイルが保存されているディレクトリーに移動します。
【コマンド解説】
// cdは移動コマンド(change directoryの略 cd)
// ~/は「ホームディレクトリー」を示す
// sshの前につく.は「隠しファイル/ディレクトリー」のこと
// つまり、cd ~/.sshは 「ホームディレクトリーの隠しディレクトリーsshに移動する」という意味になる
それでは.sshディレクトリーの中を確認してみましょう。
$ ls
authorized_keys
// 現状は1つしかファイルがない状態のはずです。
// 次のコマンドで公開キーを作成するとファイルが増えます。
【コマンド解説】
// lsディレクトリーの中身を表示するコマンド
// ちなみに ls -a とすると、「隠しファイルも含めた全てのファイル」が表示されます。
次に公開キーを作成します。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): id_rsa
// 「id_rsa」と入力してenter
Enter passphrase (empty for no passphrase):
// 入力しなくても大丈夫です。enterで進む。
Enter same passphrase again:
// 入力しなくても大丈夫です。enterで進む。
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:B5fnHiGLaQs4Yu74buNYLk5n9jCK1zF0xc931sYrU/8 ubuntu@ip-172-31-28-243
The key's randomart image is:
+---[RSA 2048]----+
| . |
| o . |
| ..o+ o o |
| ... =o=..o.+|
| o.o.. S o.oo..o|
| o .o. o o . + ..|
| .oB o . . o .|
|+*O = E|
|=X*. . |
+----[SHA256]-----+
作成が完了したら、先ほどのコマンドでどんなファイルが作成されたか確認しましょう。
$ ls
authorized_keys id_rsa id_rsa.pub
// 「id_rsa」と「id_rsa.pub」が増えているはずです。
次に公開キーの中身を表示してコピーしてください。
後ほどgithubに登録するのに利用します。
$ cat ~/.ssh/id_rsa.pub
// catコマンドはファイルの中を表示するコマンドです。
// コマンドを入力すると、ssh-rsaから始まる文字列が表示されます。
// それをコピーしてください。
②githubへの登録
まずはgithubにログインしてください。
まだアカウントを持ってない方はこちらから登録
>>>github
ログインが完了したら画面右上のアイコンをクリックして、「settings」に進んでください。
次に画面左側の「SSH and GPC keys」に進む
「New SSH key」から公開キーを登録していきます。
公開きーの登録画面は以下のようになります。
管理用のTitleを入力後、先ほど作成したコピーしておいた公開キーをKeyのところに貼り付けてください。
Add SSH keyをクリックすると、パスワード認証が要求されるので再度入力して進んでください。
これで公開キーの登録は完了です。
gitユーザー情報の登録
以下2つのコマンドでユーザー情報を登録してください。
$ git config --global user.name "kei"
//名前の登録
$ git config user.name
kei
//名前の登録ができているか確認
$ git config --global user.email kei@example.com
//メールの登録
$ git config user.name
kei@example.com
//メールの登録ができているか確認
ユーザー情報を登録しておくことによって、gitのログ(記録)を残す際に
・誰のログなのか?
・質問があるときは、どこに連絡すればいいか?
が分かるようになります。フリーランスでの個人開発であれば、必要のない機能かもしれませんが、企業への転職を検討している方は覚えておきましょう。
ブランチ(branch)の確認
gitには「ブランチ」という仕組みがあります。
ブランチとは?
ソースコードの更新履歴を分岐させて記録していくための仕組み。
【写真】
今後の機能実装の際にも説明するので、今は「こんなのもあるんだ」くらいに考えてください。
ブランチの確認は以下のコマンドで可能です。
git branch
// 現状はまだgit commit(履歴の登録)をしていないので、何も表示されません。
// 一度でもcommitすると、masterというブランチが表示されるようになります。
現状はまだgit commit(履歴の登録)をしていないので、何も表示されないかと思います。
1回でもコミットすると、ブランチ(masterブランチ)が作成されます。最初のコミット後に確認してみましょう。
今後、commitする前には必ずbranchの確認をするようにしましょう。
今はこの重要性を感じられないかもしれませんが、学習が進んでいくにつれて重要性に気付いてもらえるはずです。
アド(add)してステージングする
それでは先ほどまでのソースコードの更新をgitに登録していきましょう。
まずは以下のコマンドを入力してください。
git add .
// git addコマンドによって、commitの準備が整います。
// addが完了した状態のことを「ステージング」と言います。
// commitでは、「ステージング状態」のファイルのみがcommitされて履歴が保存されます
【コマンド解説】
// .は「滞在しているディレクトリー以下のファイルを全部」を表すコマンドです。
// つまり、「滞在しているディレクトリー以下のファイルを全部」を「git add」しますというコマンドになります。
コミット(commit)して、ログ(log)登録完了
それでは、コミットしていきましょう。
コミットのコマンドは以下になります。
$ git commit -m "ここに実装の内容が分かるコメントを入れる"
// -mオプションをつけることでコメントを追加できるようになります
// コメントは-m の後ろに"ここにコメントが入ります"のように付け加えましょう
それでは新しいbranchができたか確認してみましょう
以下のコマンドを入力してください
$ git branch
* master
先ほどはなかったブランチ(master)が追加されているかと思います。
これはcommitによって、自動的にbranchが生成されたからです。
今後、このmasterブランチをベースに新しいブランチを作成して、新規機能の実装を行なっていきます。
githubにプッシュ(push)してバックアップ完了
①githubにレポジトリを作成
②push先をgitに登録
③githubにpush
④githubで確認
①githubにレポジトリを作成
まずはgithubにレポジトリを作成しましょう。
ログイン後の画面からNewで作成できます。
repository nameはrailsプロジェクトの名前と一致させておきましょう。
descriptionは適当に何か入れておきましょう。
一般公開していいプロジェクトなら、publicを選択。
非公開にしたいなら、privateを選択しましょう。
入力が完了したらCreate repositoryで作成します
②push先をgitに登録
すると表示が少し変わります。
この文字列をコピーしてください。
続いて以下のコマンドを入力してください
$ git remote add origin git@github.com:【あなたのアカウント名】/【レポジトリ名】.git
【コマンド解説】
// remoteレポジトリにoriginという管理名でgit@github.com:【あなたのアカウント名】/【レポジトリ名】.gitを登録
// originには他文字列も利用できますが、originが一般的です。
このコマンドはいわば「電話帳に連絡先を登録しているようなもの」です
remoteレポジトリに対して、originという管理名でpush先のアドレスgit@github.com:【あなたのアカウント名】/【レポジトリ名】.gitを登録しています。
登録ができたら以下のコマンドで確認してみましょう
$ git remote -v
origin git@github.com:kei247/hello_app.git (fetch)
origin git@github.com:kei247/hello_app.git (push)
// コマンド解説
// gitコマンド
// リモートリポジトリの詳細(-vは--verboseの省略)を表示
③githubにpush
以下のコマンドでコミットの内容をgithubにプッシュしてください。
$ git push origin master
コマンド解説
// プッシュします
// originに対して(originはgithubのレポジトリアドレスが紐づいています)
// masterブランチを
④githubで確認
念のためプッシュができているかgithubからも確認してみましょう。