mar-gitacount
@mar-gitacount (mar mar)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

.gitignoreについて

Q&A

Closed

本番環境の.gitignoreについて

.gitignoreファイルに追跡させたくないファイルを記載したところ、適用されなかったので、sudo git rm --cached bootstrap/cache/bootstrap/cache/.gitignoreなどをして追跡外にしました。
その後にgitstatusで確認するとdeleted: ファイル名でステージングされています。
そもそも削除したとかファイルを編集したとかを追跡して欲しくないからsudo git rm --cached bootstrap/cache/bootstrap/cache/.gitignoreして.gitignoreファイルにファイル名を追加したのにこれでは意味ないです、、
もう追跡して欲しくないのにストーカーのようにつきまとうgitに嫌気がさして来ました。
もしこれでpushした場合他の環境でpullした場合にファイル追跡が無視された事実が反映されるのでしょうか?それともファイル自体が削除されてしまうのでしょうか??

コンフリクトの原因になるのでなるべく本番からは何もpushしたくありません。

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    modified:   .gitignore
    deleted:    bootstrap/cache/.gitignore←このdeleteすら無視したかった、、
    deleted:    public/user_images
    deleted:    public/www
    deleted:    storage/app/.gitignore
    deleted:    storage/app/public/.gitignore
    deleted:    storage/framework/.gitignore
    deleted:    storage/logs/.gitignore

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   storage/framework/cache/.gitignore
    modified:   storage/framework/cache/data/.gitignore
    modified:   storage/framework/sessions/.gitignore
    modified:   storage/framework/testing/.gitignore
    modified:   storage/framework/views/.gitignore


0

1Answer

.gitignore は追跡を始めないようにさせるだけなので、すでに追跡されているファイルには影響しません。追跡されている bootstrap/cache/.gitignore を削除して push して他の環境で pull すればファイル自体が削除されます。

bootstrap/cache/.gitignore を書き換えても modified: や deleted: と検出されてほしくないということなら、 git update-index --skip-worktree bootstrap/cache/.gitignore を実行してください。詳しくは以下のページで解説されています。

1Like

Comments

  1. @mar-gitacount

    Questioner

    ありがとうございます!!このコマンドを利用してgitの追跡から無事逃れることができました!!

Your answer might help someone💌