Skip to main content

Verschieben einer Datei an einen neuen Speicherort

Du kannst eine Datei in ein anderes Verzeichnis auf GitHub verschieben oder die Befehlszeile verwenden.

Platform navigation

Zusätzlich zum Ändern des Dateispeicherorts kannst du auch den Inhalt deiner Datei aktualisieren oder ihr im selben Commit einen neuen Namen geben.

Verschieben einer Datei an einen neuen Speicherort in GitHub

Tipps:

  • Wenn du versuchst, eine Datei in einem Repository umzubenennen, auf das du keinen Zugriff hast, erstellen wir einen Fork des Projekts in deinem persönlichen Konto und helfen dir, nach dem Commit deiner Änderung einen Pull Request an das Original-Repository zu senden.
  • Einige Dateien, beispielsweise Bilder, kannst du nur über die Befehlszeile verschieben. Weitere Informationen findest du unter Verschieben einer Datei an einen neuen Speicherort.
  • Wenn ein Repository geschützte Branches hat, kannst Du mit GitHub keine Dateien im geschützten Branch verändern oder hochladen. Weitere Informationen findest du unter Informationen zu geschützten Branches.

Du kannst GitHub Desktop verwenden, um deine Änderungen in einen neuen Branch zu verschieben und zu committen. Weitere Informationen findest du unter Committen und Überprüfen von Änderungen an deinem Projekt in GitHub Desktop.

  1. Navigiere in deinem Repository zu der Datei, die du verschieben möchtest.
  2. Klicke zum Öffnen des Datei-Editors oben rechts in der Dateiansicht auf .

Screenshot einer Datei. In der Kopfzeile ist eine Schaltfläche mit Stiftsymbol dunkelorange umrandet.

Hinweis: Anstatt die Datei mit dem gewöhnlichen Datei-Editor zu bearbeiten und zu committen, kannst du optional den Code-Editor von github.dev verwenden, indem du das Dropdownmenü auswählst und dann auf github.dev klickst. Du kannst das Repository auch klonen und die Datei lokal über GitHub Desktop bearbeiten, indem du auf GitHub Desktop klickst.

Screenshot einer Datei. In der Kopfzeile ist ein nach unten zeigendes Dreieckssymbol dunkelorange umrandet.

1. Gib im Feld „Dateiname“ den neuen Namen für die Datei ein. Beachte dabei die folgenden Richtlinien: - Um die Datei **in einen Unterordner** zu verschieben, gib den Namen des gewünschten Ordners ein, gefolgt von `/`. Dein neuer Ordnername wird ein neues Element in den Navigations-Breadcrumbs. - Um die Datei in ein Verzeichnis zu verschieben, das **im Verzeichnispfad über dem aktuellen Speicherort der Datei liegt**, zeige mit dem Mauszeiger auf den Anfang des Felds „Dateiname“, und gib dann `../` ein, um im Verzeichnispfad eine ganze Ebene nach oben zu wechseln. Alternativ kannst du auch die Taste `backspace` verwenden, um den Namen des übergeordneten Ordners zu bearbeiten.
  1. Klicke auf Änderungen committen... .

  2. Gib im Feld „Commitnachricht“ eine kurze, aussagekräftige Commitnachricht ein, die die Änderung beschreibt, die Du an der Datei vorgenommen hast. Du kannst den Commit in der Commit-Mitteilung mehr als einem Autor zuordnen. Weitere Informationen findest du unter Einen Commit mit mehreren Autoren erstellen.

  3. Lege unter den Commit-Mitteilungsfeldern fest, ob Du Dein Commit zum aktuellen Branch oder zu einem neuen Branch hinzufügen möchten. Wenn dein aktueller Branch als Standardbranch festgelegt ist, solltest du einen neuen Branch für deinen Commit und dann einen Pull Request erstellen. Weitere Informationen findest du unter Erstellen eines Pull Requests.

    Screenshot eines GitHub-Pull Requests mit einem Optionsfeld zum direkten Commit an den Mainbranch oder zum Erstellen eines neuen Branchs. Der neue Branch ist ausgewählt.

  4. Klicke auf Änderungen committen oder Änderungen vorschlagen.

Datei über die Befehlszeile an einen neuen Speicherort verschieben

Du kannst über die Befehlszeile Dateien innerhalb eines Repositorys verschieben, indem du die Datei vom alten Speicherort entfernst und am neuen Speicherort hinzufügst.

Die meisten Dateien können direkt in GitHub verschoben werden. Bei einigen Dateien (z. B. Bilddateien) ist das jedoch nur über die Befehlszeile möglich.

Bei dieser Prozedur wird vorausgesetzt, dass Du Folgendes bereits erledigt hast:

  1. Verschiebe auf dem Computer die Datei an einen neuen Speicherort innerhalb des Verzeichnisses, das beim Klonen des Repositorys lokal auf dem Computer erstellt wurde.

  2. Öffne TerminalTerminalGit Bash.

  3. Mit git status kannst du die alten und neuen Dateispeicherorte überprüfen.

    $ git status
    > # On branch YOUR-BRANCH
    > # Changes not staged for commit:
    > #   (use "git add/rm <file>..." to update what will be committed)
    > #   (use "git checkout -- <file>..." to discard changes in working directory)
    > #
    > #     deleted:    /OLD-FOLDER/IMAGE.PNG
    > #
    > # Untracked files:
    > #   (use "git add <file>..." to include in what will be committed)
    > #
    > #     /NEW-FOLDER/IMAGE.PNG
    > #
    > # no changes added to commit (use "git add" and/or "git commit -a")
    
  4. Merke die Datei für den Commit zu Deinem lokalen Repository vor. Dadurch wird die Datei am alten Speicherort gelöscht (git rm) und am neuen Speicherort hinzugefügt (git add).

    $ git add .
    # Adds the file to your local repository and stages it for commit.
    # Um das Staging einer Datei aufzuheben, verwende „git reset HEAD IHRE-DATEI“.
    
  5. Mit git status kannst du die für den Commit anstehenden Änderungen überprüfen.

    $ git status
    > # On branch YOUR-BRANCH
    > # Changes to be committed:
    > #   (use "git reset HEAD <file>..." to unstage)
    > #
    > #    renamed:    /old-folder/image.png -> /new-folder/image.png
    # Displays the changes staged for commit
    
  6. Committe die Datei, die Du in Deinem lokalen Repository vorgemerkt hast.

    $ git commit -m "Move file to new directory"
    # Commits the tracked changes and prepares them to be pushed to a remote repository.
    # Verwende zum Entfernen dieses Commits und zum Ändern der Datei den Befehl „git reset --soft HEAD~1“ und committe und füge die Datei erneut hinzu.
    
  7. Pushe die Änderungen in deinem lokalen Repository an GitHub.com.

    $ git push origin YOUR_BRANCH
    # Pushes the changes in your local repository up to the remote repository you specified as the origin