ファイル名の変更
git mv <前filename> <変更後filename>
変更状態が"renamed"となる.
mvでもファイル名は変更できるが,
"変更前filename"が"deleted","変更後filename"がuntrackのとして認識される.
この場合,stageに上げる際に,
git add -A
とすることで,名前変更状態"renamed"として認識される.
ファイルの削除
git rm <filename>
gitで削除の管理をすると,戻すこともできる.
このコマンドでファイル削除すると,stageに状態"deleted"が追加される.
・commitすればリポジトリに"削除"commitとして管理される.
・restore (verによってはresest等)でWorkingDirectoryに戻し,さらにrestoreすれば削除がなかったことに.
留意点:削除した時点でローカルが最新になるため,リモートからpullすることは不可.
untrackのものは削除できない.
rm <filename>
でやれば,gitの管理外で削除になる
stageに上がってるものは削除できない
stageに上がってる状態でrmを用いて削除すると,
WorkingDirectoryに"deleted"状態が追加.
これをstageに追加すれば,stageにあるものと相殺される.
コミット履歴の確認
1行で表示させたい
git log --oneline
コミットを線でつなぐ
git log --graph
特定のファイルのlogを表示
git log -- <filename>
ファイル名の変更も含め特定のファイルのlogを表示
git log --follow <filename>
特定のコミットについて情報を表示
git show <commitID>
commitIDは,logで表示される文字の羅列.
--onelineで表示される省略形でも可能.
というか,その一部だけでも良いみたい.
コミットについて
コミットはひとつ前のを親として次々とつながってる.
ブランチはそのコミットを指すポインタ
HEADは今作業しているブランチのポインタ
gitの管理から外す
外すべきファイル
サイズが大きなファイル,機械学習のモデルファイルなど.
バイナリファイル(動画,画像)←gitが管理できない.
中間ファイル
パスワード等の外部で知られて困るファイル
システムが生成するファイルやキャッシュファイル(.DS_Store等)
https://github.com/github/gitignore
に外すべきファイルが羅列されてる
指定方法
・ファイルの場合
hoge.txt
ワイルドカード*が使える. *.txt
・ディレクトリの場合
hoge/