Xcodeは複数の作業コピーを表示しています:
Working Copies
myProject - master
myProject_olderRepo
myProject_originalRepo
2番目の2つはグレー表示されます。
元のコードは、以前の所有者のリポジトリからSourcetreeに複製されました。ファイルを新しいリポジトリに移動する方法がわからないので、プロジェクトディレクトリ全体をローカルにコピーし、それらの作業を開始しました。次に、そのリワークされたプロジェクトディレクトリの内容を、他のユーザーがアクセスできるリポジトリにリンクされたフォルダにコピーしました。モジュール(2つの古いリポジトリ)が見つからないため、リポジトリのクローンを作成するとコンパイルエラーが発生します。
私はソース管理やBitbucketなどの経験がほとんどないので、私がしている完全に愚かなことは何でも許してください。
Xcodeのソース管理からこれらの古い作業コピーを削除するにはどうすればよいですか?または、他の人がエラーなしでプロジェクトを複製してコンパイルできる他の方法はありますか?
以下のxccheckoutファイルを削除することでこれを解決しました
ProjectName.xcodeproj > project.xcworkspace > xcshareddata
これには、以前のリポジトリへの参照が含まれていました。
次の手順で古いリポジトリを削除しました。
注:プロジェクトにWorkSpaceがある場合は、ProjectName.xcodeprojではなくProjectName.xcworkspaceを直接クリックします。
Cocoapodsを使用しており、.xcodeprojとともに.xcworkspaceを持っています。
これは私のために働いたものです:
pod deintegrate
を使用して、プロジェクトからCocoapodsを削除します。pod clean
を実行しますpod install
を実行して、再度作成します。これでワークスペースを再度開くと、他の作業用コピーは存在しなくなります。
Gitリポジトリが表示されている場合は、*.xcscmblueprint
ファイルをプロジェクトのどこかに置きます。私にとっては、プロジェクトではなくワークスペースにありました。ターミナルウィンドウから:
% find . -name '*.xcscmblueprint' ./TaskMe.xcworkspace/xcshareddata/TaskMe.xcscmblueprint
必要なエントリだけを残すように注意してファイルを編集してください。あるいは、おそらくファイルを削除して、必要なリポジトリを追加し直すこともできます。
この解決策は私を助けました。端末に移動し、コードの下に貼り付けます(これにより、隠しファイルが表示されます)
defaults write com.Apple.Finder AppleShowAllFiles YES.
次に、プロジェクトフォルダーに移動し、作業中のプロジェクトフォルダーの外に.gitファイルがあるかどうかを確認します。
プロジェクトフォルダーの外部にある.gitファイルは、作業プロジェクトではなく他のプロジェクトに属しています。 (これは、他のプロジェクトのgitの作成を間違えた場合に可能です)
この.gitファイルをカットアンドペーストして他の場所に保存するか、削除してもかまいません(それほど重要でない場合)。を削除した後、xcodeでプロジェクトを再度開きます。
CocoaPodsを使用しているときにこの問題が発生する場合は、以下を試してください。
pod install
Project.xcodeproj->パッケージの内容を表示
Project.xcworkspace->パッケージの内容を表示
xcshareddata
.xcscmblueprintファイルを開く
すべてのコンテンツをクリーンアップ
ファイルを保存して、Xcodeを再度開きます
XCodeのProjectNavigatorに同じプロジェクトの2つのインスタンスがありました。それらの1つはMでマークされ、もう1つは?
コピーを取り除くために私がしなければならなかったすべては、でマークされたプロジェクトを削除することでしたか?コントロールクリックして削除を選択します。
次の手順に従ってください。
1. Open terminal and go to your project directory
2. Run pod deintegrate in Terminal to remove Cocoapods from the project.
3. Run pod clean
4. Run pod install to create it again.
.xcworkspaceを開き、私のために働いた。
ここで何が起こったのかわからない、私は1つのプロジェクトを持っていたが、質問と同様に2つの作業コピーを持っていた。作業コピーの1つがGitHubのリポジトリと同期され、変更をそこにプッシュすることに成功しました。結局、ローカルフォルダーを完全に削除してから、githubのリモートリポジトリからもう一度チェックアウト(クローン?)するだけで済みました。
(よくわかりませんが、XcodeまたはXcodeプロジェクト、あるいはその両方が複数の作業コピーを処理していないと感じましたが、これはgit構造自体の最上位レイヤーのように行われたものです。おそらく機能の1つです。 of git?)