2009-07-15 6 views
11

je reçois statut git à ~/bin:Impossible de Git ajoutée avec une force

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  screen/dev/ 

Je cours

git add --force screen/dev/ 

Je reçois le même statut git comme avant. J'ajoute chaque fichier indépendamment dans le dossier, mais j'ai le même statut git.

Il n'y a pas de .git dans l'écran/dev /. Le dossier ne semble pas être un sumbodule.

Comment pouvez-vous ajouter un dossier et son contenu avec force à mon git à ~/bin?

+2

Pouvez-vous reproduire ceci avec un nouveau dépôt Git, à partir de "git init"? –

+0

@Greg: Je ne peux pas reproduire le problème avec un nouveau dépôt Git, bien que je garde exactement les mêmes noms dans la structure du fichier. --- Cela me suggère qu'il doit y avoir un fichier dans mon repo qui manipule l'écran du dossier/dev –

Répondre

8

Le problème peut être résolu en renommant le dossier et en ajoutant le dossier avec un nouveau nom à Git. Cela me suggère qu'il doit y avoir un fichier manipulant le nom du dossier dev.

4

Est-ce une faute de frappe sur une pâte coupée?

Dans le cas contraire, il devrait être

git add --force screen/dev 
+0

Merci de le signaler! - Je l'ai réparé dans le post. –

8

Vous ne devez pas l'option '--force' ou '-f': voir git add:

-f
--force:

permettent d'ajouter autrement ignoré fichiers.

Dans votre cas, vous pouvez ne pas vouloir ajouter tous les fichiers, y compris les fichiers ignorés dans le répertoire screen/dev.

git add screen/dev 

devrait être suffisant (sans les options ou se terminant par '/')

+0

Le même problème se produit également sans '/'. –

4

Essayez de faire:

git add -A . 

En outre, si vous avez un fichier .gitignore il est également possible que vous ignorez sans le vouloir quelque chose (c'est-à-dire: éventuellement les fichiers que vous essayez d'ajouter).

+0

Le même problème se produit également après l'exécution de votre commande. Je n'ai pas le dossier au .gitignore -files. –

+0

Cette commande n'a pas de sens. '-A' et' .' font la même chose. Aucune raison de combiner les deux. Voir ici: https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add?rq=1 – Solidak

0

Si rien ne fonctionne ...

  • Déplacez le répertoire têtue à un emplacement temporaire en dehors du repo
  • Retirez toute trace restante du répertoire têtu dans le repo
  • Poussez et assurez-vous que locale est synchronisé avec télécommande
  • Déplacez le répertoire têtu de l'emplacement temporaire de retour à la prise en pension (Vous ne devez pas renommer)
  • git add -A
  • Valider et appuyer sur