git sagt "Das folgende nicht arbeiten-Baum-Dateien, die überschrieben würden, die von der Kasse" beim Umschalten Filialen
Ich habe einen Zweig namens develop
in remote-bare-repo hub
, und ich habe eine Kasse Kopie der develop
Niederlassung in mein lokales git-repository (user poomalai
).
Habe ich gelöscht (git rm --cached
) eine Datei (Mydirectory/myfile.php
) aus einer anderen Kasse kopieren (Benutzer raj
), und schob den hub-repository.
Nun, wenn ich pull die änderungen von der Nabe auf (Benutzer poomalai
), es funktioniert gut, und ich habe die commit-Nachricht file deletion
im git-log.
Habe ich die Datei in die .gitignore
- Datei in das (Benutzer poomalai
).
Nun ich habe die Datei in meinem lokalen repo (Benutzer poomalai
).
Nun die Datei nicht mehr in der Versionsverwaltung, so dass änderungen an der Datei nicht von git verwaltet.
Aber wenn ich versuchen, wechseln Sie zu einem anderen Zweig es sagt der folgende:
Fehler: Die folgenden nicht arbeiten-Baum-Dateien, die überschrieben würden, die von der Kasse:
Mydirectory/myfile.php
Bitte verschieben oder entfernen Sie diese, bevor Sie wechseln können Niederlassungen.
Abbruch
Wenn ich die Datei löschen unter linux rm
Befehl, ich bin in der Lage zu wechseln Niederlassungen.
Wenn ich die Datei wieder, es wirft wieder die gleichen Fehler.
Ich brauche die Datei in dem Verzeichnis, es sollte aber nicht von git verwaltet.
Versuchte ich folgende Befehle:
git rm
fatal: Pfadangabe 'diamonds_webservice/dbconnect.php' did not match any files
git gc
git reset --hard HEAD
git pull
Nichts funktioniert. Bitte mir jemand helfen
InformationsquelleAutor pooamlairaj | 2011-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist möglich, da die der Datei Hinzugefügt wird, die repo in der "Ziel-Branche".
Sicherstellen, dass die Datei
git rm
'ed aus dem " Ziel-Branche", und dann versuchen Sie, die Umstellung Zweige.Als @CharlesB gesagt, git tut es, um Datenintegrität zu gewährleisten, so dass nichts verloren beim wechseln von Verzeichnissen.
Wie können wir "git rm" aus einem Zweig können wir nicht Kasse?
So zeigen Sie eine theoretische Vorstellung von dem, was getan werden könnte, aber nicht wie zu erreichen. Wie geschrieben, dies ist nicht so sehr eine nützliche Antwort, als Hinweis oder Kommentar. Bitte
edit
zu zeigen, andere, die weniger versiert im git wie übernehmen Ihren Vorschlag bis zum erreichen einer Lösung. Danke!InformationsquelleAutor
Es ist eine gute Sache, dass git warnt Sie, weil das Umschalten auf einen Zweig, der nicht die Datei gelöscht wird... löschen.
Also du machst es richtig: entfernen (oder umbenennen) vor dem Check-out ein Zweig, der hat es gelöscht.
So ist es nur, dass git kümmert sich um Ihre Daten vor dem überschreiben.
Da es nicht versionierte Sie wäre nicht in der Lage sich zu erholen, nachdem die Kasse.
Da die Filiale wechseln, überschreiben (löschen) nicht versionierte Daten (dein jetzt-nicht-Datei)
stackoverflow.com/questions/7630693/... die Sie verwenden können, so etwas wie
rm <backtick>git checkout xyz 2>&1 | sed "s/^[^\t].*/ /g" <backtick>
(wo <backtick> ist Verschiebung-~) ein, um automatisch diese Dateien zu löschenJa, das ist, weil die Datei würde ned entfernt werden alle Zweig, dann wird sich diese änderung muss begangen werden. Die
.gitignore
Datei ist auch ein Teil des Snapshots. Ich verstehe die Langweiligkeit, (obwohl es gibt Möglichkeiten den Prozess zu automatisieren), jedoch in der Lage, speichern Sie snapshots des Dateisystems, so dass änderungen an einem Zweig (oder dupliziert repo), machen nicht automatisch (& leise) betreffen Filialen (und repo-Klone) ist die Kraft der version control. Macht es wirklich Sinn, sobald Sie können wickeln Sie Ihren Verstand, um das, was hinter den kulissen geschieht, und warum. Alle die besten.InformationsquelleAutor
Das einzige, was für mich gearbeitet:
in android studio
- gehen Sie auf Ereignisprotokoll
- klicken Sie auf 'anzeigen' Link.
- dann manuell Treffer der minus-Leiste, um die Dateien zu löschen im popup-Fenster.
(da war es nur 4-5-Dateien, die ich umbenannt, die Dateien zuerst)
Ich musste es zweimal durchführen, da einige Elemente nicht gelöscht wurde beim ersten Versuch...
InformationsquelleAutor