wake-up-neo.com

git Checkout-Fehler: Verzeichnis kann nicht erstellt werden: Berechtigung verweigert (Bitbucket)

Ich habe Probleme mit dem Befehl git checkout. Bitte helfen.

Hier ist was ich getan habe.

  1. Ein lokales Verzeichnis erstellt. Einige Dateien erstellt. Initiierte ein Git Repo lokal.
  2. Ich habe ein Repo in Bitbucket erstellt und mein lokales Repo zu Bitbucket verschoben
  3. Lokale Erstellung einer neuen Niederlassung, b01
  4. Neue Dateien zu b01 hinzugefügt, festgeschrieben und der Zweig erfolgreich an Bitbucket übergeben
  5. Jetzt versuche ich, b01 mit master zu verschmelzen, und hier stelle ich Probleme. Ich kann Master nicht abmelden.

Befehlslisten und die Fehlerdetails:

git clone [my repo]
git checkout -b b01

Im Folgenden habe ich mehrere Änderungen vorgenommen, darunter das Erstellen neuer Dateien und Verzeichnisse, diese Änderungen übernommen und die Änderungen in diesem Zweig erfolgreich in das Repo übernommen. mögen:

git Push -u Origin b01

Nun bin ich mit den Änderungen fertig und möchte sie mit dem Master-Zweig zusammenführen. Also mache ich ein:

git checkout master

Hier ist der Fehler, den es wirft:

fatal: cannot create directory at 'workfolder': Permission denied

Git hält mich in b01, aber löscht ALLE Dateien, die ich im Zweig erstellt habe. Also wenn ich jetzt ein 

git status

es zeigt mir: 

On branch b01
Your branch is upto date with 'orgin/b01'
Changes not staged for commit:
(use "git add/rm .....)
  deleted: new file1
  deleted: new file2
<list of the new files I had added but which got deleted as a result of the command>

Ich muss einen laufen lassen 

git checkout -- . 

um die Dateien wiederherzustellen.

Bitte helfen 

8
TechiRik

Ich hatte eine ähnliche Situation. Allerdings lag es daran, dass ich die Lösung im Visual Studio geöffnet hatte. Das Schließen des visuellen Studios und das Durchführen eines Git-Reset (nur wenn Sie sich keine Sorgen um den Verlust der Arbeit machen) versetzt mich in einen guten Bereich.

Das heißt Prüfen Sie, ob Prozesse den Ordner/die Dateien sperren.

12
gzimmers

Wie bereits gesagt, kann dies passieren, wenn bereits ein anderer Prozess auf die Dateien zugreift. Daher hilft es, wenn Sie eine App schließen, die sie möglicherweise verwendet, da in meinem Fall Visual Code geöffnet und geschlossen wurde.

2
robivictor

Zuerst würde ich empfehlen, zwischen jeder Operation mit git einen schnellen git status zu machen. Ich kann Ihnen nicht sagen, wie oft mir das viele Kopfschmerzen erspart hat.

Ein paar Dinge, die ich versuchen könnte, ein Licht auf die Probleme zu werfen:

  1. Sie sagten, Sie hätten Verzeichnisse erstellt und viele Änderungen an b01 vorgenommen und dann an Origin weitergeleitet. Schauen Sie sich das Commit für diese Action `git Show an. Haben Sie die Berechtigungen für das übergeordnete Verzeichnis von "Arbeitsordner" geändert? Das könnte hilfreich sein .

  2. Bist du unter Windows? Wenn ja, wie tief sind Sie in den Verzeichnispfaden? Ist die Pfadlänge größer als das Fenster? Verweis hier .

  3. Wenn dies nicht funktioniert, haben Sie versucht, einen wegwerfenden Zweig von b01 zu erstellen und "master" zusammenzuführen? Dies ruft manchmal eine Ursache heraus.

  4. Der hässliche Hagel Mary. Haben Sie versucht, eine Kopie/Einfügung von "b01" außerhalb des Repositorys zu erstellen, bis zum übereinstimmenden letzten Commit von "master" zurückzukehren und die Änderungen dann in die Kopie "b01" über master einzufügen? Wenn die Dinge völlig auf dem Kopf stehen und keinen Sinn ergeben, ist es manchmal einfacher, das Problem rückwärts durchzuarbeiten, um herauszufinden, was schiefgegangen ist, und zu lernen, was in der Zukunft nicht zu tun ist.

1
Benjamin Dean