web-dev-qa-db-fra.com

Xcode: "La copie de travail ____ a des modifications non validées" vs statut git: "rien à valider, répertoire de travail vide"

Dans Xcode 5.0.2, j'essaie d'extraire une télécommande et le message suivant s'affiche:

"La copie de travail 'nom-projet' contient des modifications non validées. Validez ou annulez les modifications et réessayez."

C'est suffisant. J'ouvre la boîte de dialogue de validation et je reçois alors le message "Ce fichier n'existe pas à la révision demandée". Cliquer sur 'OK' me fait entrer dans la boîte de dialogue de validation. (Il n'y a pas de révision affichée dans le volet de droite, probablement pour la même raison que le message le plus récent m'a été donné.) En sélectionnant la vue à plat, je constate qu'il n'y a qu'un seul fichier modifié: project.pbxproj. Je saisis un message de validation, puis cliquez sur "Valider 1 fichier". Quand je vais ensuite tirer, je constate que je suis exactement dans la même position qu'avant: les mêmes messages apparaissent et je ne parviens pas à tirer (ou pousser) quel que soit le nombre de fois que je commets un commit.

Curieux, je lance git diff pour voir just ce qui a changé. Rien. git status me fournit une sortie tout aussi utile: nothing to commit, working directory clean. git Push ou git pull? Oui, ceux-ci fonctionnent parfaitement depuis la ligne de commande.

Alors qu'est-ce qui donne? Pourquoi Xcode insiste-t-il pour que des modifications soient apportées à mon répertoire de travail? Pourquoi ça ne me dit pas ce qu'ils sont? J'ai essayé de redémarrer Xcode et le système. Bien que je sois heureux d’avoir encore quelques-uns moyen de pousser et tirer, ce serait vraiment bien si l’intégration Xcode git se comportait bien. Des idées?

J'ai trouvé ces questions similaires, mais aucune ne répond à ce problème particulier (ou ne fournit une solution acceptable):

18
GarlicFries

Bon, j'ai corrigé mon problème. 

Avec Xcode ouvert: 

  1. Ouvrez terminal - cd/dans le répertoire de votre projet. 
  2. Tapez: "git reset --hard
  3. Tapez git status 

Redémarrez Xcode et faites un commit (juste un commentaire ou quelque chose) 

Répétez les étapes ci-dessus. 

Cela a réglé mon problème pour moi. 

53
Robert J. Clegg

Vous devez le réparer avec la ligne de commande git. Allez dans votre dossier de travail dans Terminal, tapez:

git status

Cela vous montrera quels fichiers ont des modifications non validées. Crashlytics, par exemple, se mettra à jour dès que vous l'exécutez. Même en utilisant Xcode/Contrôle de code source/Annuler les modifications, vous ne pourrez pas vous en débarrasser.

Une fois que vous voyez les fichiers contenant des modifications non validées (ignorez les fichiers ajoutés), utilisez:

git checkout -- Folder/filename.ext

C'est la même chose qu'un "rejet" dans Xcode.

Après cela, retournez dans Xcode et vous devriez pouvoir changer de branche.

4
Matt H

Solution de code d'application:

  1. Confirmez le statut de git dans le terminal:

    statut git

  2. Ouvrez 'yourProject.xcworkspace' dans Code d'application

  3. VCS> Git> Branches ...

  4. Branches distantes> yourBranch> Paiement en tant que nouvelle succursale locale

  5. Confirmez le correctif via le terminal:

    statut git

0
Tr0yJ