フォルダ
- .git のあるフォルダ名は自由に変更して問題ない。
マージ
コンフリクト関係
- コンフリクト発生時は、競合の内容が発生したファイルに書き込まれる “だけ” っぽい。
- コンフリクトの修正は、その競合が発生したファイルを修正する “だけ” っぽい。
- このとき、
git mergetool
を使用すれば、Git がコンフリクトの内容を読み取り、Git に登録されたマージツールを起動することができる。強力なオプションのような位置づけととらえた。 - 一度コンフリクト発生ファイルをステージに追加するとコンフリクトは解消されたとみなされる。
git reset
で取り下げたとしても、git status
での表示は庵マージ度ではなくただの変更されたファイルとして扱われるし、git mergetool
してもマージが必要なファイル無しとされる。 - よって、コンフリクトの修正完了を Git に知らせるには、
git add
でステージする “だけ” っぽい。
うっかりでも問題ない
- マージする前にチェックアウトしわすれていて、自分自身 (今いるブランチ) を指定してマージしようとしても何も起こらない。安心♪
$ edit-typo ブランチ上にいる。 $ git merge --no-ff edit-typo Already up-to-date
プッシュ
- プッシュしたコミットがリモートへ反映されるのではなく、プッシュしたブランチ全体がリモートへ反映される。
よく忘れるコマンド
# ステージの内容をすべて破棄 git reset . # 新規ブランチを作成してそこへチェックアウト git checkout -b <branchname> # 現在のブランチへ <branchname> を必ずコミットを作ってマージ git merge --no-ff <branchname> -m "コミットメッセージ"
ツール
Atom との連携が充実している。
difftool や mergetool をこれらで指定できたら便利かもしれませんね。。。