具体的な例は、削除され、Git によって「削除済み」とマークされたリポジトリからファイルをクリーンアップするのに苦労している開発者を支援するはずです。これらの「削除された」ファイルを完全に削除しない場合、Git はgit status
. git status
多くの「削除された」ファイルがぶら下がっている場合、出力を読み取るのは困難です。
1)次の方法でレポのステータスを確認しますgit status
。
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: repoDir/subDir/Info.plist
deleted: repoDir/subDir/MacOS/CrashLogDemo
deleted: repoDir/subDir/PkgInfo...
no changes added to commit (use "git add" and/or "git commit -a")
2)git rm
Git が「削除済み」とマークしたファイルを完全に削除するために使用します (この場合、ワイルドカード [*] を使用してディレクトリ全体を削除しています)。
$ git rm repoDir/subDir/*
rm 'repoDir/subDir/Info.plist'
rm 'repoDir/subDir/MacOS/CrashLogDemo'
rm 'repoDir/subDir/PkgInfo'...
3)を使用してコメントで変更をコミットしますgit commit -m
。
$ git commit -m "Removed unncessary files."
[master 9178ad4] Removed unncessary files.
28 files changed, 2377 deletions(-)
delete mode 100644 repoDir/subDir/Info.plist
delete mode 100644 repoDir/subDir/MacOS/CrashLogDemo
delete mode 100644 repoDir/subDir/PkgInfo...
4) git push
適切なレポ/ブランチへの変更:
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 291 bytes | 291.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/accountName/CrashLogDemo.git
f4716fa..9178ad4 master -> master
5)最後に、他のユーザーが を実行するgit pull
と、不要なファイルがローカルから削除されます。