Rustの勉強したコードをgitにあげようとして、、、
rustはc++のようにコンパイルして、実行ファイルを作成する。
その際、拡張子のない実行ファイルが作られる。これは実行ファイルであり、そのマシンでしか動かないものであるから、githubに上げるのはふさわしくない。
windowsでは*.exe
のようにexe拡張子の実行ファイルが作られる。しかし、macosでは拡張子のない実行ファイルが作られる。
これでは.gitignore
ファイルに*.exe
のように書き込んでgitに挙げない無視するファイルを作成するということができない。
解決策
いささか無理やりだが、拡張子がないファイルを無視するのではなく、
拡張子のないファイル = すべてのファイルとディレクトリ-すべてのディレクトリ-すべての拡張子のついたファイル
で記述する。
また、この際上から評価されるため、先頭に記述すること。
'.gitignore'
*
!*/
!*.*
[その他無視したいファイル]
gitにあげてしまったものを削除する
すでに実行ファイルがgitに上がってしまったのを削除したい。
--cached
がないと、ローカルファイルも削除されるので注意。
$ git rm --cached *
git rmで削除してしまったとき
私は上記rmの際、誤ってローカルも削除してしまったので、以下のコマンドでもとに戻した。
git reset HEAD [削除したファイルパス]
git checkout HEAD [削除したファイルパス]
git reset HEAD .
git checkout HEAD .
参考文献