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
Tip
- 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. Du kannst GitHub Desktop verwenden, um deine Änderungen in einen neuen Branch zu verschieben und zu committen. Weitere Informationen findest du unter Informationen zu geschützten Branches und unter Committen und Überprüfen von Änderungen an deinem Projekt in GitHub Desktop.
- Navigiere in deinem Repository zu der Datei, die du verschieben möchtest.
- Klicke zum Öffnen des Datei-Editors oben rechts in der Dateiansicht auf .
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.
-
Klicke auf Änderungen committen... .
-
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.
-
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.
-
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:
- Du hast ein Repository für GitHub erstellt oder möchten zu einem vorhandenen Repository beitragen, das einer anderen Person gehört.
- Du hast das Repository lokal auf deinen Computer geklont.
-
Verschiebe auf dem Computer die Datei an einen neuen Speicherort innerhalb des Verzeichnisses, das beim Klonen des Repositorys lokal auf dem Computer erstellt wurde.
-
Öffne TerminalTerminalGit Bash.
-
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")
-
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“.
-
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
-
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.
-
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