- 更新日: 2015年11月26日
- Git
git管理ファイルを.gitignoreに追加してgit管理から外す
すでに git で管理されているファイルを .gitignore に追加して、git の管理下から外す手順です。対象のファイルを単純に .gitignore に追加するだけだと、git の管理対象から除外できない。
対象のファイルを .gitignore に追加
まずは、すでに git 管理対象となっていて、git 管理から除外したいファイルを .gitignore に追加します。今回の例では、環境ごとの設定ファイルである config/environments/ 以下のファイルを git 管理対象から除外したかった。
.gitignore
1 2 3 |
config/environments/* |
ただし、すでにファイルが git 管理下となっている場合、上のように .gitignore に追加しただけですと git 管理下から外すことができません。
1 2 3 4 5 6 7 |
$ git ls-files ... config/environments/development.php config/environments/production.php config/environments/staging.php |
git ls-files コマンドで確認すると、まだ git の管理対象のままになっていることが分かる。
git rm –cached file-name する
git の管理対象から外すには、–cached オプションを付けて git rm する必要がある。
1 2 3 4 5 |
$ git rm --cached config/environments/development.php $ git rm --cached config/environments/production.php $ git rm --cached config/environments/staging.php |
git rm コマンドで –cached オプションを付けると、対象のファイル自体を残したまま、git の管理対象から除外できます。ここで –cached オプションを付けないと、ファイル自体も削除してしまうので注意。
1 2 3 4 |
$ git ls-files // git 管理から外れて表示されなくなった |
全ファイルに対しては、以下のようにやる。
1 2 3 |
$ git rm -r --cached . |
が、ちょっと怖かったので、自分の場合は前述したファイル名を指定する方法で行いました。これで無事に git 管理対象から目的のファイルを外すことができました。
- – 参考リンク –
- .gitignore に設定を追加して反映させる – Qiita
- .gitignore の設定を反映させる – Qiita
- git管理している途中から.gitignoreを追加して、その設定を反映させる方法 – Qiita
- Git の関連記事
- git cleanでUntracked files(未追跡ファイル)をまとめて削除
- .gitignoreを自動生成するgiboとgi(gitignore.io)コマンド
- gitマージのコンフリクトで片方ブランチのファイル変更内容を採用
- git logコマンドで他ブランチにマージされていないコミットのみを確認
- Bitbucketで作成済みWikiページの一覧リストを確認
- GitHubのgh-pages (github.io)でWebページを公開
- git diffで長い行を折り返し表示
- git diffでブランチ間のファイル差分を確認するあれこれ
- Git の履歴からファイルを完全に削除する – git filter-branch
- Bitbucketアカウント作成〜ローカルのGit既存プロジェクトをインポート(push)
Leave Your Message!