LoginSignup
126
148

More than 5 years have passed since last update.

GitHub 初心者による GitHub 入門(2)〜 status みて add して commit して push したい 〜

Posted at

はじめに

前回はずいぶん前になってしまいましたが、マイペースに行きましょう。

↓↓↓前回はこちら↓↓↓

今回は 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 した後、気づいてしまった。。。

typo.png

おもいっきしタイポをしてしまいました・・・。恥ずかしい(;;)
なので、ついでに修正もしてみました。

ファイルを修正後、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 周りで。

以上、おわり。

126
148
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
126
148