Git 管理したくないファイルを指定する

Git で管理したくないファイルを指定する方法について調べました。 Emacs のバックアップファイルだったり Mac の .DS_Store などアプリケーションやシステムの方で自動的に作成されるファイルがあります。Git のリポジトリ内でこれらのファイルができて git status のたびに表示されたりするとだいぶ邪魔な感じになるので、.gitignore 等のファイルで設定してみます。

調べるとリポジトリ内の .gitignore に書いたり、.git/info/exclude に書いたりと何種類か方法があって優先順位なども変わってくるようです。以下のエントリに詳しく載っていました。

ひとまず今のところは ~/.gitconfig の中に excludesfile という項目を書いておきます。

[core]
        excludesfile = ~/.gitignore

そこで指定した ~/.gitignore に無視したいファイルのパターンを書きます。

.DS_Store
~*
more ...

Git コミット方法の違いについて

書籍「入門 git」を読んでいて第 4 章にコミットする 3 通りの方法について説明がありました。

  1. git add でステージングしてから git commit する
  2. git commit に -a オプションをつける
  3. git commit に ファイル名を指定する

add してから commit

$ git add Good.py
$ git commit -m "Add print func"

どういう形かで git add して、それから commit するやり方です。git add は -i オプションで対話モード、 -p でパッチモードが利用できるようです ...

more ...

Git の勉強つづき

昨日から始めた Git の勉強の続きです。 Git ではメインの編集履歴とは別に、途中から枝分かれした別バージョンの編集履歴もうまい具合に管理できます。一連の編集履歴のまとまりをブランチ(branch)と言い、デフォルトではメインのブランチ名が master となっています。

現在のブランチを確認するには git branch というコマンドを入力します。

また git branch <branch-name> とすると <branch-name> という名前のブランチを新たに作ることができ、git checkout <branch-name> で操作対象をそのブランチに切り替えます。

また、git checkout -b <branch-name> としても同じ結果(ブランチの作成および切り替え)が得られます。

別ブランチでファイルに変更を加えてコミットしてから、もとのブランチに戻ってファイルを確認すると変更前の状態のままとなっています。別ブランチで起きたことはあくまで別ブランチのことであって影響はおよびません。

git merge <branch-name> で現在のブランチに <branch-name> の変更内容をマージすることができます。

more ...

Git 始めます

使おう使おうと思いつつ、まだ習得していなかった Git についてそろそろきちんと学ぼうと思います。

まずテスト用のディレクトリ、ファイルを作ります。

$ mkdir myproject
$ cd myproject
$ echo hello, world > readme.txt

git init で初期化します。

$ git init
$ ls -a
.          ..         .git       readme.txt

まず git add でファイルをステージング状態に移して、git commit でコミット。-m オプションでコミットメッセージを追加します。

$ git add .
$ git commit -m "initial commit."

ファイルに一行追加して git diff で差分を確認できます。

$ echo Nice to meet you ...
more ...