概要
Gitを使っていて、つまづいて、その後解決した方法をまとめていきます。
また、忘れてしまうことも多いので、そういったものも自分用にまとめておきます。
個人的なメモの側面が強い記事ですので、ご注意ください。
特定ブランチの現在ディレクトリにあるファイルを確認したい
今いるブランチのディレクトリと同じ階層のファイルを閲覧したいなら、
git show "ブランチ名":./"ファイル名"
で閲覧できます。
特定コミットだけを別のブランチから取り出したい
失敗の流れ
まずファイルが存在しているか確認として、
git show "ブランチ名":"hoge/hogehoge/ファイル名"
でファイルの中身を見ました。
そして、そのブランチにあるファイルを、今いるブランチに持ってこようとして、
git checkout "ブランチ名" -- "hoge/hogehoge/ファイル名"
を実行しました。
で、その時に出たエラーがこれです。
error: pathspec 'hoge/hogehoge/"ファイル名"' did not m atch any file(s) known to git
そんなファイルないと怒られてしまいました。
成功に必要だったもの
さっきshowで見れたんだからあるだろうと思いました。が、どうやらこっちの場合はパスがいらないようでして、単純に
git checkout "ブランチ名" -- "ファイル名"
でよかったようです(同じ階層であることが条件っぽい)。
showではパス指定で閲覧できるのに、checkoutの方で同じパスを指定するとエラー吐かれるのは、すこしややこしいと思いました(2019/5/20)。
ローカルブランチを削除したい
オプションとして、-Dを利用します。
git branch -D "ブランチ名"
これでローカルに存在しているブランチを削除することができます。
リポジトリのファイル・ディレクトリを削除し、リモートに反映させる
削除方法
git rm "filename"
でファイルの削除。
git rm -r "dirname"
でディレクトリごと削除。
ここで-rはrecursiveオプション、つまり、再帰的にその下のファイルディレクトリを削除する意味を持つようです。
削除ファイルをリモートへ反映したい
削除したらそのファイルないんだからコミットできないじゃないか、と思っていたけど、どうやらgit rmを使用することで、削除した段階でファイルがaddされるのと同様の効果があるようです。
なので、削除結果を反映したいのであれば、削除した段階でそのまま、
git commit -m "コメント"
をして、
git push
すれば良いです。
コミットを書き直したい
コミットメッセージ書いてた途中なのにコミットしちゃった、というような時は、--soft付きのリセットコマンドを使います。
git reset --soft HEAD^
--softオプションをつけることで、それまでの変更内容を失うことなく、元に戻すことができます。