読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

git勉強内容まとめ5(ファイル操作)

前回までの勉強で,ログの見方,状態の確認方法を勉強してきました。

複数ファイルをステージングエリアに送る方法

今までは,index.htmlという1つのファイルに対して,gitの使い方を勉強してきましたが,実際にはhtmlファイルだけでなくcssファイルも同時に使用することも多くあります。

$ git add .

上のように,git addコマンドのファイル名の指定箇所に.(ピリオド)を入力すると,現在のフォルダより下にあるファイル全てにgit addコマンドが適用されます。


gitの管理下にあるファイルの操作

ファイルを削除する場合にはrmコマンドなどを使用しますが,ただファイルを消去してもステージングエリアなどには残ってしまいます。 そのためgitの管理下に置かれたファイルは,git rmコマンドを使用する必要があります。

$ git rm ファイル名

またファイル名の変更や移動に使うmvコマンドに関しても,gitの管理下に置かれたファイルにはgit mvコマンドを使用します。

$ git mv 旧ファイル名 新ファイル名
もしくは
$ git mv ファイル名 移動先


git管理に含めない方法(.gitignore)

例えばコーディングをしている中でログファイル等が生成された場合,それらのファイルは多くの場合コミットする必要なんてありません。

これらのファイルをgit addなどの対象から外すには,".gitignore"というファイルを作成します。

$ ls -la
total 24
drwxr-xr-x   6 masashi  staff   204  9 11 00:23 .
drwxr-xr-x+ 58 masashi  staff  1972  9 11 00:23 ..
drwxr-xr-x  13 masashi  staff   442  9 10 23:55 .git
-rw-r--r--   1 masashi  staff     7  9 11 00:23 .gitignore
-rw-r--r--   1 masashi  staff    36  9 11 00:23 error.log
-rw-r--r--   1 masashi  staff    22  9 10 23:55 index.html
$ vim .gitignore
$ cat .gitignore
*.log

上のように,ファイルを指定することで指定したファイルをgit管理に含ませない事が出来ます。
また,上のようにUNIXコマンドのワイルドカードを利用することが出来ます。
ちなみに".gitignore"は,それのある階層以下に存在するものに適用されます。


直前のコミットを変更する

次は,コミットした内容が微妙にミスをしていて,新たなバージョンとしてコミットする程でもないという場合にどうするかをまとめます。

これは実行例を見ればだいたい理解できるので,まずはターミナルの出力を貼り付けます。

$ cat index.html
line 1

$ vim index.html
$ cat index.html
line 1
line 2

$ git add .
$ git commit -m "line2を追加"
[master fbe58ff] line2を追加
 1 file changed, 1 insertion(+)
※ここで「やっぱりline2はインデントしておきたかった」という場合
$ vim index.html
$ cat index.html
line 1
 line 2

$ git commit --amend
※このようにamendオプションを指定すると,vimが立ち上がりメッセージが編集できる。こういった状況ではメッセージは変更しなくていい場合が多いのでそのまま終了させると・・・
$ git log
commit dbca148e010b3c4b5bd7854eb0f55193c12649a4
Author: 名前 <メールアドレス>
Date:   Wed Sep 11 00:37:52 2013 +0900

    line2を追加

commit 8610778d6a86b321a1e67faa5f34f104df565a1a
Author: 名前 <メールアドレス>
Date:   Wed Sep 4 23:08:51 2013 +0900

    initial commit
※このように新しいバージョンを作成せずにコミットすることが出来ます。


次回は,いよいよ過去のバージョンを戻す方法を勉強していきます。


参考ページ ドットインストールgit入門