趣旨
毎回、あれ?ここで使うgitコマンドなんだったっけ?となるので自分の忘備録としての役割も含めて記載します。
今回はリモートレポジトリへのプッシュです。
リモートレポジトリにプッシュしたい時
ここではリモートレポジトリはgithub使っています。
git add
まず、ファイルなどを管理の対象として追加する必要があります。
エディターにコードを書いたのみだと「ワーキングツリー」に存在しているだけなので、
ワーキングツリーからステージエリア(インデックス)に追加します。
(ワーキングツリー→ステージエリア)
$ git add .
上記ならルートファイル以下全てのファイルをaddできます。
$ git add <ファイル名>
特定のファイルならこちら
ex)
$ git add index.html
git commit
ステージエリアにあげられたファイルをローカルレポジトリに追加登録します。
このことをコミットすると言います。
(ステージエリア→ローカルレポジトリ)
vimを使いたくない人は-mでメッセージの中身を記入
$ git commit -m "コメントの中身"
vimを使う人は
$ git commit
vimが立ち上がるので、
「i」を押してインサートモードにしてからコメントを入力します。
入力したあとは、ESCを押した後に
「:」「w」「q」で保存するか、
「:」「q」「!」で保存せずに戻ることができます。
git commit したあとは、
git log でコミットしたメッセージを確認できます。
$ git log
git push
最後にリモートレポジトリ(github)にプッシュします。
(ローカルレポジトリ→リモートレポジトリ)
$ git push origin <ブランチ名> なので
$ git push origin master
ワーキングツリーの変更内容を取り消しする時
git addしていない変更を全部消すことができます。
$ git checkout .
変更の取り消しができますが、新規追加したファイルは削除対象にならないので、別途削除しましょう。
特定のファイルのみ指定して取り消しならこちらです。
$ git checkout <ファイル名>
プッシュした後にやり直ししたい時
git resetで対応する人もいますが、コミット履歴操作には危険が伴うので、
revertで対応するケースも多いようです。
直前のコミットを打ち消すコミットとなります。
$ git revert HEAD
その後にpushします。
ワーキングツリーの変更を一時退避させる方法
ローカル(ワーキングツリー)の変更内容を退避させます。
退避させて別ブランチで一時的に作業する場合などで使います。
$ git stash
退避を元に戻すには以下のコマンドです。
$ git stash pop
最後に
git resetについてはこの方の記事がとても参考になります。
https://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe
別の記事で他のgitコマンドについて書いていきます。