回答:
Gitはおそらくファイルをすでに追跡しています。
現在追跡されているファイルの追跡を停止するには、git rm --cachedを使用します。
置き換え、これを使用[project]
して[username]
、あなたの情報を:
git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"
または、-a
オプションを使用してgit commit
変更または削除されたすべてのファイルを追加することもできます。
gitからファイルを削除すると、が尊重されます.gitignore
。
無視されたファイルが追跡されないリストに引き続き表示される場合は、 git clean -f -d
して消去することができます。
1。
git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate
2。
git commit -m "Removed file that shouldn't be tracked"
3.最初の警告 git clean -f -d --dry-run
。そうしない、コミットされていない変更が失われる可能性があります。
次に:
git clean -f -d
git clean -f -d --dry-run
すること、つまり何が起こるかを確認することを強くお勧めします
git clean -f -d
ますか?
git clean -f -d
コミットされていないファイルの変更がある場合は使用しないでください!私はそれを使用し、コンテンツが既に作成されている新しく作成されたファイルを削除しました!:)最初にコミットしてからクリーンアップします
すべての回答は素晴らしいですが、別のMac(自宅とオフィス)で作業している場合、すべてのユーザーから削除されます。
git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
友人にこの素晴らしいサイトhttps://www.gitignore.io/を見せてもらいました。選択したIDEまたはその他のオプションを入力するとgitignore
、便利な無視で構成されるファイルが自動的に生成されますxcuserstate
。gitignore
ダウンロードする前にファイルをプレビューできます。
問題のファイルをgit履歴から再帰的に削除する方法の非常に良い説明は次のとおりです:http : //help.github.com/remove-sensitive-data/
それ以外の場合、ツールが最初にチェックされるべきではない巨大なファイルの差分を表示しようとしているときに「ハング」する傾向があるため、非常に便利です...
最大のものを取り除くために(簡単に)できることは次のとおりです。
cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now
私にとってはとてもうまくいきました:)
これは私のために働く
project.xcworkspace
ターミナルからプロジェクトファイルを含むフォルダーを開きます。
次のコマンドを記述します。 git rm --cached *xcuserstate
これによりファイルが削除されます。
xcode 8.3.3の場合、上記のコードを試して確認したところ、この場合、コマンドを次のように変更する必要があります。
最初に、次を使用して.gitignoreファイルを作成できます
touch .gitignore
その後、このコマンドを使用してすべてのuserInterfaceファイルを削除できます。このコマンドを使用すると、.gitignoreファイルが尊重されます。
git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"