1

マージの競合の問題に苦労しています(UserInterfaceState.xcuserstateとの競合のためにマージできませんを参照)。フィードバックに基づいて、gitrmを使用してUserInterfaceState.xcuserstateを削除する必要がありました。

かなりの実験の後、「git rm -rfproject.xcworkspace/xcuserdata」でファイルを削除することができました。そのため、作業中のブランチにいる間、コミットする必要のあるファイルとしてすぐに戻ってきました。そこで、ファイルに対してgit rmを再度実行し、マスターに切り替えました。次に、ファイルに対してgitrmを再度実行しました。操作により、ファイルが再度削除されました。

しかし、私はまだ立ち往生しています。ブランチをマスターブランチにマージしようとすると、コミットされていない変更があると再度​​表示されます。だから私は変更をコミットするために行きます。ただし、今回は、コミットするファイルとしてUserInterfaceState.xcuserstateが表示されますが、チェックボックスがオフになっているため、チェックできません。だから私は前進することができません。ブランチに戻ることすらできません。ファイルUserInterfaceState.xcuserstateは、「D」状態にあることを示しています。これは、明らかに削除されたことを意味します。'git rm'を使用してproject.xcworkspaceの下のxcuserdataを完全に削除する方法はありますか?それをリポジトリに戻そうとすべきですか?もしそうなら、どのように。

ヘルプ!!何か案は?

アップデート:

gitstatusの結果を貼り付けます

Changes to be committed:
   modified: project.pbxproj
   modified: [a list of all the files to be merged]

Unmerged paths:
   (use "git add/rm <file>..." as appropriate to mark resolution)
   deleted by us: project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcusers‌​tate 
   both modified: ../[projectname]/en.lproj/Localizable.strings
4

2 に答える 2

2

コミットからxcuserdata/xcuserstateを削除するために行った手順は次のとおりです

1-ここから.gitignoreを生成します: https ://www.toptal.com/developers/gitignore

2-ターミナルを使用してプロジェクトに.gitignoreを追加します。

  • ターミナルでプロジェクトルートファイルに移動し、次のように入力します。touch .gitignore

3-プロジェクトフォルダ内のファイルに移動して開き、手順1で生成されたコードを貼り付けます。

4-プロジェクトタイプのままのターミナルでgit add .gitignore

5-また、ターミナルで次のように入力してgitからxcuserstateを削除します。git rm <whole path to xcuserstate>

パスがわからない場合はgit status、そこからxcuserstateパス全体を入力してコピーします。

6- Xcodeでコミットします.gitignore。手順2と5でそれぞれgitに追加したり、gitから削除したりしたため、xcuserstateファイルは表示されません。

于 2021-06-29T08:40:11.607 に答える
1

ブランチ内のファイルを削除した場合、なぜブランチをマスターにマージしなかったのですか?それで十分だったはずです。

両方のブランチでファイルを削除したために競合が発生している可能性があると思います。そのため、一方から他方に切り替えることはできません。競合が解決されるまで、それを行うことはできません。このファイルの競合を解決するには、削除済み(D)としてマークされているため、コミットするだけです。他のファイルがある場合は、競合を解決するときに新しく追加されたファイルをスキップしないことを確認してください。

また、.gitignoreにxcuserdataファイルを無視して、gitがインデックスに再度追加しようとしないようにするルールがあることを確認してください。この質問を参照してください:xcodeプロジェクトのgitignoreファイル

于 2012-12-15T20:04:06.943 に答える