はじめに
前回はずいぶん前になってしまいましたが、マイペースに行きましょう。
↓↓↓前回はこちら↓↓↓
今回は GitHub というより、git の入門になります。
参考サイト
今回はこちらのサイトを参考にさせていただきました。感謝!
新しいファイル作って
まず、適当に新しいファイルを作成し、
そのファイルを git の管理対象として add してみましょう。
バレンタインなので、それっぽいのを追加してみようかな。。。
valentine.md
というファイルを作成してみました。
では、このファイルを add してみましょう。
status みて
add する前に、git status
コマンドで状態を確認してみましょう。
現在は master
ブランチで作業をしています。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
valentine.md
nothing added to commit but untracked files present (use "git add" to track)
ご丁寧に説明書きが表示されましたね。ありがたい。
「コミットするもんはないよ!
でも、管理されてないファイルがあるよ!
"git add"を使って管理下に追加したらええんやで!」
って書いてあるような気がします。」
というわけで、add して track されちゃいましょう。
add して
おまたせしました、やっとですね。
git add
コマンドを実行します。
コマンドの後ろに追加するファイル名をそっと添えます。
そう、ファイル名はそっと添えるだけ。(大事なことなのでry)
$ git add valentine.md
これで、新しく追加したファイルが git の管理下に無事追加されました。
もう一度、ステータスを確認してみましょう。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: valentine.md
「こいつぁ、新入りだぜ・・・」とでも、言いたげですね。
git の管理下に追加してあげることによって、
新しいファイルが追加されたことが、" new file: "という表示で表されています。
add したものは commit することができます。
出る杭は打たれるし、add したやつは commit される。
ここ、テストに出るからね。
commit して
git commit
コマンドを実行します。
後ろにそっとファイル名を添えなくていいです。
ファイル名をそっと添えると、そのファイルだけ commit の対象になります。
なにも添えない場合は、add されたもの全て commit の対象になります。
$ git commit
エディタが立ち上がるので、コミットメッセージを入力します。
今回は
[add]はっぴーばれんたいん♪(addしてcommitしてpushする練習用)
こんな感じでコミットメッセージを書いてみました。
保存して、エディタを閉じると、続けて自動的にコミット処理が続きます。
$ git commit
[master 55dcf98] [add]はっぴーばれんたいん♪(addしてcommitしてpushする練習用)
1 file changed, 3 insertions(+)
create mode 100644 valentine.md
もう一度ステータスを確認してみましょう。
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working directory clean
またまたご親切に説明書きがありますね。
「リモートの master ブランチより 1 コミット進んでるやん。
"git push" 使って、あなたのローカルのコミットを公開しなはれ。
コミットするもんはないから、すっきりや〜。」
適当な翻訳なのは勘弁やで。
ということで、次は push しましょう。
push した
ローカルリポジトリの master
ブランチのコミットを、
リモートリポジトリの master
ブランチに push します。
git push
コマンドを実行しましょう。
git push origin [ローカルブランチ]:[リモートブランチ]
の書き方になります。
この書き方で、
[ローカルブランチ]を[リモートブランチ]に push する
ことになります。
$ git push origin master:master
Username for 'https://github.com': meguma
Password for 'https://meguma@github.com':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 406 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/meguma/sample.git
fdc4cc8..55dcf98 master -> master
これでリモートリポジトリにも、
ローカルリポジトリのコミットを反映することができました!
おまけ
push した後、気づいてしまった。。。
おもいっきしタイポをしてしまいました・・・。恥ずかしい(;;)
なので、ついでに修正もしてみました。
ファイルを修正後、add する前のステータスを見てみましょう。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: valentine.md
no changes added to commit (use "git add" and/or "git commit -a")
今度はファイルが「変更」されたので modified:
という表示になっています。
では、今回は「 add して commit 」という流れを
git commit
コマンドの -a
オプションを利用して、一気にやってしまいます。
git commit -a
のコマンドを実行すると、
変更点が自動的に add されてから commit が実行されます。
$ git commit -a
[master 9f086de] [fix]タイポを修正
1 file changed, 1 insertion(+), 1 deletion(-)
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working directory clean
commit が完了したので、改めて push を行います。
今回は push する先の branch 名の表記を省略した書き方をしています。
(書き方の詳しい説明は参考サイト等をご参照くださいませ。)
$ git push origin master
Username for 'https://github.com': meguma
Password for 'https://meguma@github.com':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 352 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/meguma/sample.git
55dcf98..9f086de master -> master
これで、無事、恥ずかしいタイポの修正を GitHub に反映することができました。
次回予告
とりあえず Https 経由だと push が毎回面倒なので、
まずは ssh 経由に移行しようかなぁ〜と思っております。
コマンドやるなら branch 周りがやりたいかな。
なので、次回は ssh 移行手順か、branch 周りで。
以上、おわり。