12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

gitで実行ファイルを無視する

Last updated at Posted at 2020-03-14

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 .

参考文献

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?