2016-06-15 18 views
1

Git Verfolgung der Java-Ordner zu sein scheint, aber ich kann keine Änderungen an der spezifischen Datei MainActivity.java begehen. Ich bekomme eine "Änderungen nicht für das Commit inszeniert" Das diff zeigt die Änderungen, aber ich kann es nicht begehen.Android Studio begeht nicht MainActivity.java auf Github

Auch ich kann nicht in den Ordner in Github gehen.

Project structure Commit error

Github structure Dieser Ordner nicht anklickbar ist.

Edit: Wenn ich git status in der Befehlszeile tun, bekomme ich

user:JustJava juil$ git status 
HEAD detached at 93ea9a1 
Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 
    (commit or discard the untracked or modified content in submodules) 

     modified: app/src/main/java/com/example/android/justjava (modified content) 

no changes added to commit (use "git add" and/or "git commit -a") 

Edit 2: ich ausgecheckt habe die neueste begehen wie einige vorgeschlagen haben, aber immer noch die freistehenden Kopf Fehler.

Current git log

Bearbeiten 3: habe ich versucht, die Datei selbst w/git add Hinzufügen aber einen Fehler bekam, dass das Verzeichnis ein Submodul ist.

JustJava juil$ git add app/src/main/java/com/example/android/justjava/MainActivity.java 
fatal: Pathspec 'app/src/main/java/com/example/android/justjava/MainActivity.java' is in submodule 'app/src/main/java/com/example/android/justjava'

Ich versuchte git submodule status und bekam den Fehler läuft versucht

fatal: no submodule mapping found in .gitmodules for path 'app/src/main/java/com/example/android/justjava' 

I .git im Submodul, aber der gleiche Fehler hält Aufspringen zu löschen.

+0

Sie befinden sich in einem getrennten Zustand. Führe 'git status' in der Kommandozeile aus und poste das Ergebnis –

+0

Ich habe die Ausgabe von' git status' in die Frage gestellt, aber es erklärt immer noch nicht, warum ich nicht auf die Dateien auf Github zugreifen kann. – juil

+0

Versuchen Sie: 'git stash',' git checkout master', 'git stash pop'. Dann können Sie Ihre Änderungen festschreiben und am Master weiterarbeiten –

Antwort

0

dies nur die Android-Studio-Schnittstelle zu beheben, versuchen Sie Folgendes:

  1. eine Sicherungskopie Ihrer geänderten Dateien Stellen, falls diese Methode nicht Ihre Änderungen korrekt funktioniert fusionieren. Wählen Sie im Versionskontrollfenster die Registerkarte Log. Es zeigt Ihnen eine Liste der Commits.
  2. Der oberste Commit sollte der neueste sein. Rechtsklicken Sie darauf und wählen Sie Checkout Revision im Kontextmenü. Wenn ein Dialogfeld angezeigt wird, wählen Sie Smart Checkout. Dadurch werden Ihre Änderungen mit dem ausgewählten Commit zusammengeführt.
  3. Ihr HEAD sollte jetzt angeschlossen sein, damit Sie jetzt normal committen können.
+0

Ich habe das versucht und es hat nichts getan. Ich habe die Frage mit einem Screenshot meines aktuellen Git Logs aktualisiert. – juil

+0

Es sieht so aus, als wäre MainActivity.java nie wirklich zu Git hinzugefügt worden. Versuchen Sie 'git add app/src/main/java/com/Beispiel/android/justjava/MainActivity.java' – Fusiongate

+0

Versucht es, aber ein Submodul Fehler. In der Frage aktualisiert. – juil

0

Wenn Sie den Kopf abgenommen wird, es bedeutet, dass Sie das Kommandozeilen-Äquivalent tat

git checkout <UUID of previous commit> 

Der graue Ordner, der erstellt wurde, ein Untermodul genannt wird, geschieht es, wenn Sie ein Git-Repository in einem anderen git initialisieren Repository. Ich würde vorschlagen, den .git-Ordner innerhalb JustJava/app/src/main/java/com/example/android/justjava zu entfernen.

git durch Terminal verwenden, gehen Sie folgendermaßen vor:

  1. Sichern Sie alle den Code in einem anderen Ordner

  2. ** entfernen JustJava/app/src/main/java/com/Beispiel/android/justjava/.git“

  3. Kasse heraus Master oder der aktuelle Zweig Sie sind auf (Standard: Master)

    Um Master zur Kasse, in den Ordner, in dem Sie Projekt git ist durch das Terminal (Linux oder Mac) oder git bash (wenn Sie auf Windows sind), dann tun:

    git checkout master 
    
  4. backed Vergleich up-Code mit dem aktuellen Code und nehmen Sie die Änderungen (falls vorhanden)
  5. Commit neuen Code
+0

Ich habe versucht, den Master auschecken, aber immer noch die gleichen Fehler wie in meiner neuesten Bearbeitung zu meiner Frage angegeben. – juil

0

Seit justjava Ordner stellte sich heraus sein wollen ein Submodul, im Super-Verzeichnis, rief ich git rm -rf --cached justjava wie von @fusiongate empfohlen

Dies funktioniert, dass die Datei hinzugefügt und festgeschrieben werden kann, aber der Commit-Verlauf für diese Datei ist verloren.

Verwandte Themen