software:git:gitignore-different-merge
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
software:git:gitignore-different-merge [2017/08/01 14:31] – yoko | software:git:gitignore-different-merge [2018/06/30 08:44] (現在) – [参考] yoko | ||
---|---|---|---|
行 1: | 行 1: | ||
- | .gitignoreが異なるマージ(変更)した時の処理 | + | .gitignoreが異なるマージ(又は.gitignoreを変更)した時の処理 |
- | ======================================= | + | ======================================================= |
- | [以前の記事](https:// | + | [以前の記事](https:// |
このような状況で、別ブランチからマージを実行(又は.gitignoreを変更)した場合は、無視したいファイルがリポジトリ内に残っているので、不要なファイルを削除してスッキリさせる方法の備忘録を残す。 | このような状況で、別ブランチからマージを実行(又は.gitignoreを変更)した場合は、無視したいファイルがリポジトリ内に残っているので、不要なファイルを削除してスッキリさせる方法の備忘録を残す。 | ||
行 7: | 行 7: | ||
無視したいファイルをリポジトリから削除 | 無視したいファイルをリポジトリから削除 | ||
----------------------------------- | ----------------------------------- | ||
+ | `.gitignore`が変更されても、既にリポジトリに登録されているファイルは無視されないので、無視したいファイルを下記コマンドで管理対象から外す。 | ||
+ | ``` | ||
+ | $ git rm --cached `git ls-files --full-name -i --exclude-standard` | ||
+ | ``` | ||
+ | 又は | ||
+ | ``` | ||
+ | $ git rm --cached `git ls-files --full-name -i --exclude-from=.gitignore` | ||
+ | ``` | ||
+ | |||
+ | ### 管理対象でないファイルを削除 | ||
+ | 下記コマンドで不要なファイルを確認 | ||
+ | |||
+ | ``` | ||
+ | $ git clean -n -d -x | ||
+ | ``` | ||
+ | |||
+ | 続いて下記コマンドで実際に削除 | ||
+ | |||
+ | ``` | ||
+ | $ git clean -f -d -x | ||
+ | ``` | ||
+ | |||
+ | * `-n`オプションでは確認のみで、`-f`オプションで実際に削除する | ||
+ | * `-x`オプションで`.gitignore`に指定されたファイルも削除対象とする | ||
+ | * `-d`オプションでディレクトリも含む | ||
関連記事 | 関連記事 | ||
------- | ------- | ||
- | - [【Git】ブランチごとに別の内容にする](https:// | + | * [【Git】ブランチごとに別の内容にする](myblog>2016/ |
+ | * [[software/ | ||
行 19: | 行 45: | ||
1. [あとからまとめて.gitignoreする方法](http:// | 1. [あとからまとめて.gitignoreする方法](http:// | ||
- | + | 2. [基本操作 | 逆引きGit | サルでもわかるGit入門](http:// | |
+ | 3. [.gitignoreの仕様詳解](http:// | ||
software/git/gitignore-different-merge.1501565516.txt.gz · 最終更新: 2017/08/01 14:31 by yoko