web-dev-qa-db-ja.com

複数の作業コピーを示すXcodeソース管理

Xcodeは複数の作業コピーを表示しています:

Working Copies
myProject - master
myProject_olderRepo
myProject_originalRepo

2番目の2つはグレー表示されます。

元のコードは、以前の所有者のリポジトリからSourcetreeに複製されました。ファイルを新しいリポジトリに移動する方法がわからないので、プロジェクトディレクトリ全体をローカルにコピーし、それらの作業を開始しました。次に、そのリワークされたプロジェクトディレクトリの内容を、他のユーザーがアクセスできるリポジトリにリンクされたフォルダにコピーしました。モジュール(2つの古いリポジトリ)が見つからないため、リポジトリのクローンを作成するとコンパイルエラーが発生します。

私はソース管理やBitbucketなどの経験がほとんどないので、私がしている完全に愚かなことは何でも許してください。

Xcodeのソース管理からこれらの古い作業コピーを削除するにはどうすればよいですか?または、他の人がエラーなしでプロジェクトを複製してコンパイルできる他の方法はありますか?

27
HenryRootTwo

以下のxccheckoutファイルを削除することでこれを解決しました

ProjectName.xcodeproj > project.xcworkspace > xcshareddata

これには、以前のリポジトリへの参照が含まれていました。

45
HenryRootTwo

次の手順で古いリポジトリを削除しました。

  • ProjectName.xcodeproj->パッケージの内容を表示
  • project.xcworkspace->パッケージの内容を表示
  • xcshareddata
  • 任意のテキストエディターを使用して.xcscmblueprintファイルを開きます
  • 次の場所からすべての不要なリポジトリを削除しますDVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey
  • ファイルを保存して、Xcodeを再度開きます

注:プロジェクトにWorkSpaceがある場合は、ProjectName.xcodeprojではなくProjectName.xcworkspaceを直接クリックします。

24
Piyush

Cocoapodsを使用しており、.xcodeprojとともに.xcworkspaceを持っています。

これは私のために働いたものです:

  1. ターミナルでpod deintegrateを使用して、プロジェクトからCocoapodsを削除します。
  2. pod cleanを実行します
  3. pod installを実行して、再度作成します。

これでワークスペースを再度開くと、他の作業用コピーは存在しなくなります。

7
alain.s

Gitリポジトリが表示されている場合は、*.xcscmblueprintファイルをプロジェクトのどこかに置きます。私にとっては、プロジェクトではなくワークスペースにありました。ターミナルウィンドウから:

% find . -name '*.xcscmblueprint' ./TaskMe.xcworkspace/xcshareddata/TaskMe.xcscmblueprint

必要なエントリだけを残すように注意してファイルを編集してください。あるいは、おそらくファイルを削除して、必要なリポジトリを追加し直すこともできます。

2
Brad Howes

この解決策は私を助けました。端末に移動し、コードの下に貼り付けます(これにより、隠しファイルが表示されます)

defaults write com.Apple.Finder AppleShowAllFiles YES.

次に、プロジェクトフォルダーに移動し、作業中のプロジェクトフォルダーの外に.gitファイルがあるかどうかを確認します。 enter image description here

プロジェクトフォルダーの外部にある.gitファイルは、作業プロジェクトではなく他のプロジェクトに属しています。 (これは、他のプロジェクトのgitの作成を間違えた場合に可能です)

この.gitファイルをカットアンドペーストして他の場所に保存するか、削除してもかまいません(それほど重要でない場合)。を削除した後、xcodeでプロジェクトを再度開きます。

2
cgeek

CocoaPodsを使用しているときにこの問題が発生する場合は、以下を試してください。

  • 削除myProject.xcworkspace
  • 削除ポッド/
  • 実行pod install
1
vauxhall

Project.xcodeproj->パッケージの内容を表示

Project.xcworkspace->パッケージの内容を表示

xcshareddata

.xcscmblueprintファイルを開く

すべてのコンテンツをクリーンアップ

ファイルを保存して、Xcodeを再度開きます

1
virgiltang

XCodeのProjectNavigatorに同じプロジェクトの2つのインスタンスがありました。それらの1つはMでマークされ、もう1つは?

コピーを取り除くために私がしなければならなかったすべては、でマークされたプロジェクトを削除することでしたか?コントロールクリックして削除を選択します。

0
DevB2F

次の手順に従ってください。

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を開き、私のために働いた。

0
Devendra Singh

ここで何が起こったのかわからない、私は1つのプロジェクトを持っていたが、質問と同様に2つの作業コピーを持っていた。作業コピーの1つがGitHubのリポジトリと同期され、変更をそこにプッシュすることに成功しました。結局、ローカルフォルダーを完全に削除してから、githubのリモートリポジトリからもう一度チェックアウト(クローン?)するだけで済みました。

(よくわかりませんが、XcodeまたはXcodeプロジェクト、あるいはその両方が複数の作業コピーを処理していないと感じましたが、これはgit構造自体の最上位レイヤーのように行われたものです。おそらく機能の1つです。 of git?)

0
Jonny