2009-07-15 12 views
11

ottengo git-stato in ~/bin:Impossibile Git-add con forza

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

corro

git add --force screen/dev/ 

ottengo lo stesso git-stato come prima. Aggiungo ogni file nella cartella in modo indipendente, ma ottengo lo stesso git-status.

Non c'è alcun segnale nella schermata/dev /. La cartella sembra non essere uno smistamento.

Come si può aggiungere una cartella e il suo contenuto con forza al mio git su ~/bin?

+2

Puoi riprodurre questo con un nuovo repository Git, a partire da "git init"? –

+0

@Greg: non riesco a riprodurre il problema con un nuovo repository Git, anche se mantengo esattamente gli stessi nomi nella struttura del file. --- Questo mi suggerisce che ci deve essere un file nel mio repository che manipola lo schermo della cartella/dev –

risposta

8

Il problema può essere risolto rinominando la cartella e aggiungendo la cartella con un nuovo nome a Git.

Questo mi suggerisce che ci deve essere qualche file che manipola il nome della cartella dev.

4

È un errore di battitura su pasta tagliata?

In caso contrario, dovrebbe essere

git add --force screen/dev 
+0

Grazie per averlo indicato! - L'ho risolto nel post. –

8

Non dovrebbe essere necessario '--force' o opzione '-f': vedi git add:

-f
--force:

permettono l'aggiunta altrimenti ignorato i file.

Nel tuo caso, potresti non voler aggiungere tutti i file, inclusi i file ignorati nella directory schermo/dev.

git add screen/dev 

dovrebbe essere sufficiente (senza opzioni o finale '/')

+0

Lo stesso problema si verifica anche senza '/'. –

4

provare a fare:

git add -A . 

Inoltre, se si dispone di un file Gitignore è anche possibile che si sta involontariamente ignorando qualcosa (es .: possibilmente i file che stai cercando di aggiungere).

+0

Lo stesso problema si verifica anche dopo aver eseguito il comando. Non ho la cartella sul file .gitignore. –

+0

Questo comando non ha senso. '-A' e' .' fanno la stessa cosa. Nessun motivo per combinare entrambi. Vedi qui: https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add?rq=1 – Solidak

0

Se non funziona ...

  • spostare la directory testardo in una posizione temporanea al di fuori del repo
  • Rimuovere eventuali tracce della directory ostinata nel repository
  • push e assicurarsi che locale è sincronizzato con telecomando
  • Spostare la directory testardo dalla posizione temporanea indietro al pronti contro termine (non c'è bisogno di cambiare titolo)
  • git add -A
  • Conferma e push