web-dev-qa-db-fra.com

Contrôle de code source Xcode affichant plusieurs copies de travail

Xcode affiche plusieurs copies de travail:

Working Copies
myProject - master
myProject_olderRepo
myProject_originalRepo

Les deux autres sont grisés.

Le code original a été cloné dans Sourcetree à partir du dépôt d'un propriétaire précédent. Ne sachant pas comment déplacer les fichiers dans un nouveau référentiel, j'ai simplement copié localement tout le répertoire du projet et commencé à travailler dessus. J'ai ensuite copié le contenu de ce répertoire de projet retravaillé dans un dossier lié à un référentiel auquel avoir accès. Quand ils clonent le référentiel, ils obtiennent des erreurs de compilation car des modules (les deux plus anciens) sont manquants.

Je n'ai presque aucune expérience du contrôle de source et de Bitbucket et autres. Je demande donc humblement pardon pour tout ce que je fais de complètement stupide.

Comment supprimer ces anciennes copies de travail du contrôle de code source Xcode? Ou existe-t-il un autre moyen permettant aux autres de cloner et de compiler le projet sans erreur?

27
HenryRootTwo

Résolu ceci en supprimant le fichier xccheckout sous

ProjectName.xcodeproj > project.xcworkspace > xcshareddata

Cela contenait des références à la mise en pension précédente.

45
HenryRootTwo

J'ai supprimé l'ancien dépôt en suivant les étapes suivantes.

  • NomProjet.xcodeproj -> Afficher le contenu du paquet
  • project.xcworkspace -> Afficher le contenu du paquet
  • xcshareddata 
  • Ouvrez le fichier .xcscmblueprint en utilisant n’importe quel éditeur de texte 
  • Supprimez tous les pensions non équitables de l'emplacement suivant.
  • Enregistrez le fichier et ouvrez Xcode à nouveau

Remarque: Si votre projet comporte WorkSpace, cliquez directement sur ProjectName.xcworkspace au lieu de ProjectName.xcodeproj.

23
Piyush

J'utilise Cocoapods et ai un .xcworkspace avec mon .xcodeproj.

C'est ce qui a fonctionné pour moi:

  1. Supprimez les Cocoapods du projet en utilisant pod deintegrate dans Terminal.
  2. Exécuter pod clean 
  3. Exécutez pod install pour le recréer.

Maintenant, si vous ouvrez à nouveau l'espace de travail, les autres copies de travail ne doivent plus exister.

7
alain.s

Si vous avez des référentiels Git qui apparaissent, alors vous devez avoir un fichier *.xcscmblueprint quelque part dans votre projet. Pour moi, c'était dans mon espace de travail et non dans un projet. Depuis la fenêtre du terminal:

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

Éditez ce fichier avec soin pour ne conserver que l’entrée souhaitée. Ou peut-être mieux, supprimez simplement le fichier et rajoutez le référentiel souhaité.

2
Brad Howes

Cette solution m'a aidé . Aller au terminal et coller ci-dessous le code (cela montrera les fichiers cachés)

defaults write com.Apple.Finder AppleShowAllFiles YES.

Allez maintenant dans votre dossier de projet et vérifiez s’il existe des fichiers .git en dehors de votre dossier de projet en cours de travail .  enter image description here

Les fichiers .git situés en dehors du dossier de projet n'appartiennent pas à votre projet de travail mais à un autre projet. (Ceci est possible si vous avez commis une erreur en créant git pour un autre projet)

Soit couper coller ce fichier .git et enregistrez-le à un autre emplacement ou vous pouvez le supprimer (si ce n’est pas si important). Après la suppression, rouvrez votre projet dans xcode. 

2
cgeek

Si ce problème se produit lors de l’utilisation de CocoaPods try:

  • Supprimer myProject.xcworkspace
  • Supprimer Pods /
  • Runpod install
1
vauxhall

Project.xcodeproj -> Afficher le contenu du paquet

Project.xcworkspace -> Afficher le contenu du package

xcshareddata

Ouvrir le fichier .xcscmblueprint

Nettoyer tout le contenu

Enregistrez le fichier et ouvrez Xcode à nouveau

1
virgiltang

J'ai eu deux instances du même projet dans mon ProjectNavigator dans XCode. L'un d'eux était marqué avec M et l'autre avec?

Tout ce que j'avais à faire pour supprimer la copie, est-ce que supprimer le projet était marqué? en cliquant dessus et en sélectionnant Supprimer. 

0
DevB2F

Suivez les étapes suivantes:

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.

Ouvrez .xcworkspace, a travaillé pour moi.

0
Devendra Singh

Pas sûr de ce qui s'est passé ici, j'avais un projet mais deux copies de travail, semblables à la question. Une des copies de travail a été synchronisée avec un dépôt sur GitHub, et j’y suis parvenue à appliquer les modifications . Tout ce que j’avais à faire, c’était de supprimer complètement mon dossier local, puis d’extraire (clone?) le repo distant sur github à nouveau.

(Je ne suis pas sûr, mais j'ai eu le sentiment que Xcode et/ou le projet Xcode ne gérait pas plusieurs copies de travail, mais que cela se faisait comme une couche supérieure dans la structure de git. C'est peut-être une fonctionnalité de git ?)

0
Jonny