Wenn ich auf einen Funktionszweig Feature123
in meinem lokalen Repository war, habe ich ein begehen, und schob es auf Github:Warum ist das Arbeitsverzeichnis des Masters nach dem Ziehen nicht sauber?
$ git commit -m "Feature123 add unit tests"
[Feature123 53ad59a] Feature123 add unit tests
2 files changed, 94 insertions(+), 2 deletions(-)
$ git push origin Feature123
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (10/10), 1.23 KiB | 0 bytes/s, done.
Total 10 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8), completed with 8 local objects.
To https://github-repo-url
93f285a..53ad59a Feature123 -> Feature123
auf GitHub, ich sah, ist es Konflikte zusammenführen, wenn die Funktion Verzweigung zu einem Zweig verschmelzenden genannt master
, also musste ich den Konflikt lokal lösen.
schalte ich zuerst
master
und ziehen:$ git checkout master Switched to branch 'master' Your branch is up-to-date with 'origin/master' $ git pull remote: Counting objects: 931, done. remote: Compressing objects: 100% (307/307), done. remote: Total 931 (delta 634), reused 473 (delta 471), pack-reused 132 Receiving objects: 100% (931/931), 707.48 KiB | 0 bytes/s, done. Resolving deltas: 100% (683/683), completed with 329 local objects. From https://github-repo-url e30f5fd..64f0158 master -> origin/master 12a9754..ab3ff99 B01312 -> origin/B01312 bbbb9cc..d729e42 B02481_6 -> origin/B02481_6 * [new branch] B02523 -> origin/B02523 550ca90..760be6b B03395 -> origin/B03395 fd54149..2559131 B03616 -> origin/B03616 Updating e30f5fd..64f0158 error: unable to create file dir1/file1: Permission denied error: unable to create file dir2/file2: Permission denied Checking out files: 100% (469/469), done.
Was die Fehlermeldungen Sie "Fehler: Kann nicht Datei dir1/file1 erstellen: Permission denied" bedeuten?
Dann wollte ich auf den Funktionszweig wechseln, und fusionieren, aber
$ git checkout Feature123 error: Your local changes to the following files would be overwritten by checkout: dir3/file3 dir4/file4 Please commit your changes or stash them before you can switch branches. Aborting
Warum ist das Arbeitsverzeichnis von
master
nicht sauber, da ich auf meinem Zweig begangen habe?Was soll ich jetzt tun, um Master in meinen Feature-Zweig zu integrieren?
Der gemeldete Fehler ist höchstwahrscheinlich ein Ergebnis der 'open()' syscall fehlgeschlagen. Möglicherweise gibt es ein Problem mit Benutzer-/Gruppenberechtigungen, einer Emulations-/Virtualisierungsebene, dem Dateisystem oder dem Festplattenspeicher. Angenommen, Sie haben an den fraglichen Dateien noch keine Arbeit geleistet, wird 'reset -hard' Ihren Arbeitsbaum wiederherstellen, um' HEAD' widerzuspiegeln. An diesem Punkt sollten Sie erneut "ziehen", um zu sehen, ob Sie in einen konsistenten Zustand kommen können . – Pockets
sollten Sie die Berechtigungen für diese Verzeichnisse und Dateien überprüfen? Kann der Benutzer den 'git pull' in diesen Pfad schreiben? Problem 2 scheint mit 1 verwandt zu sein, da 'git pull' versucht, Ihren Remote-Master-Zweig mit Ihrem lokalen Master zu verbinden; Es ist jedoch fehlgeschlagen, so dass die Zusammenführung nicht abgeschlossen ist und ein Zusammenführungs-Commit mit den neuen Änderungen, die von remote abgerufen wurden, nicht erstellt wurde, wodurch das Repository mit geänderten Dateien verlassen wird. Wenn Sie in diesem Zustand zu einer Verzweigung wechseln, die diese Dateien ebenfalls modifiziert, wird sie mit dem Fehler von Ausgabe 2 fehlschlagen. Sie können versuchen, 'git merge --abort' zu verwenden oder @pockets sagt' git reset --hard' – odradek