2009-07-15 10 views
11

ich git-Status bei ~/sind:Kann Git-add mit Kraft

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

Ich betreiben

git add --force screen/dev/ 

ich den gleichen git-Status nach wie vor erhalten. Ich füge jede Datei einzeln in den Ordner ein, bekomme aber den git-Status.

Es gibt keine .git in Bildschirm/dev /. Der Ordner scheint kein Submodul zu sein.

Wie können Sie einen Ordner und seinen Inhalt mit Gewalt zu meinem Git bei ~/bin hinzufügen?

+2

Können Sie dies mit einem neuen Git-Repository reproduzieren, beginnend mit "git init"? –

+0

@Greg: Ich kann das Problem nicht mit einem neuen Git Repository reproduzieren, obwohl ich genau die gleichen Namen in der Dateistruktur behalte. --- Das deutet darauf hin, dass es in meinem Repository eine Datei geben muss, die den Ordner screen manipuliert/dev –

Antwort

8

Das Problem kann durch Umbenennen des Ordners und Hinzufügen des Ordners mit einem neuen Namen zu Git gelöst werden.

Das schlägt mir vor, dass es eine Datei geben muss, die den Ordnernamen dev manipuliert.

4

Ist das ein Tippfehler auf Schnittpaste?

Wenn nicht, sollte es

git add --force screen/dev 
+0

Vielen Dank, dass Sie darauf hingewiesen haben! - Ich habe es in der Post behoben. –

8

Sie sich nicht '--force' brauchen sollte oder '-f' Option: siehe git add:

-f
--force:

Allow Zugabe sonst ignoriert Dateien.

In Ihrem Fall möchten Sie möglicherweise nicht alle Dateien hinzufügen, einschließlich der ignorierten Dateien im Verzeichnis screen/dev.

git add screen/dev 

sollte genug sein (ohne Optionen oder Endung ‚/‘)

+0

Das gleiche Problem tritt auch ohne '/' auf. –

4

Versuchen Sie tun:

git add -A . 

Auch, wenn Sie ein .gitignore auch möglich, es ist-Datei, die Sie versehentlich ignorieren etwas (zB: möglicherweise die Dateien, die Sie hinzufügen möchten).

+0

Das gleiche Problem tritt auch nach dem Ausführen Ihres Befehls auf. Ich habe den Ordner nicht in den .gitignore-Dateien. –

+0

Dieser Befehl ist nicht sinnvoll. '-A' und' .' machen dasselbe. Kein Grund, beides zu kombinieren. Siehe hier: https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add?rq=1 – Solidak

0

Wenn nichts funktioniert ...

  • Bewegen Sie das hartnäckige Verzeichnis zu einem temporären Speicherort außerhalb des Repo
  • alle verbleibenden Spuren des hartnäckigen Verzeichnisses entfernen im Repo
  • Drücken und stellen Sie sicher, dass die lokalen mit Fern
  • das hartnäckige Verzeichnis aus dem temporären Standort zurück zu dem Repo synchronisiert wird (Sie müssen nicht umbenennen)
  • git add -A