Eine neue Datei im Browser anlegen
Ausgangslage
Eine Datei soll in ein eingebundenes Repository — eine Notiz, eine Konfigurationsdatei, ein Textbaustein —, und zwar ohne Git-Client und ohne lokale Kopie. Die Datei gibt es im Repository noch nicht.
Lösungsüberblick
Der Arbeitsbereich eines Repositorys bietet dafür die Schaltfläche Neue Datei. Sie verlangt Schreibrecht auf dem Mount-Namensraum; ohne dieses Recht erscheint sie nicht.
Der Unterschied zum Bearbeiten liegt in der Absicherung. Der Editor schreibt gegen die Fassung, die er geladen hat, und weist einen Commit zurück, wenn sich die Datei inzwischen geändert hat. Beim Anlegen gibt es keine geladene Fassung — geprüft wird stattdessen, ob unter dem angegebenen Pfad schon etwas liegt. Liegt dort etwas, lehnt der Server ab und schreibt nichts. Anlegen kann also nicht versehentlich ersetzen.
Der Commit-Author bleibt das Wiki-Konto; eingereicht wird er bei Azure DevOps über den Dienstzugang, weshalb dort pushedBy der Dienstzugang ist.
Durchführung
- Öffnen Sie das Repository über die Liste Repositories oder über die Repository-Seite Ihres Projekts.
- Prüfen Sie im Kopf des Bildschirms, auf welchem Branch Sie stehen. Die Datei entsteht genau dort. Ein anderer Branch lässt sich über die Auswahl Branch wählen, ein neuer über Neuer Branch/Tag anlegen.
- Wählen Sie Neue Datei.
- Tragen Sie den Pfad ein, jeweils vom Wurzelverzeichnis des Repositorys aus, etwa
docs/notizen.md. Nicht vorhandene Ordner im Pfad entstehen mit. - Tragen Sie den Inhalt ein und dazu eine Commit-Nachricht.
- Wählen Sie Datei anlegen. Nach dem Erfolg lädt der Bildschirm neu und der Baum zeigt die neue Datei.
Der Server antwortet mit einem von fünf Zuständen.
| Zustand | Bedeutung | Was Sie tun |
|---|---|---|
ok | die Datei ist angelegt | nichts; der Baum zeigt sie nach dem Neuladen |
conflict | unter diesem Pfad liegt bereits eine Datei | einen anderen Pfad wählen — oder die vorhandene Datei bearbeiten statt sie anzulegen |
denied | auf dem Mount-Namensraum fehlt Ihnen das Schreibrecht | siehe Zugriff anfordern |
rejected | Pfad oder Branchname hat die Prüfung nicht bestanden | Pfad ohne .. und ohne führende Sonderzeichen schreiben |
error | Anmeldung, Übertragung oder unerwartete Antwort des Servers | siehe Diagnose |
Hinweise
- Nur Textdateien. Das Formular hat ein Textfeld, keinen Dateiauswahldialog. Bilder, Archive und andere Binärdateien gehen über einen Git-Client zurück; siehe Änderung einreichen. Das ist eine bewusste Grenze dieser Oberfläche, keine Grenze des Repositorys.
- Eine Datei je Commit. Für mehrere Dateien in einem Commit nehmen Sie
git clone; siehe Repository klonen. - Der Pfad ist die ganze Angabe. Es gibt kein „aktuelles Verzeichnis„: auch wenn Sie im Baum einen Ordner geöffnet haben, gilt der eingetragene Pfad ab der Wurzel.
- Einen Teilerfolg gibt es nicht. Scheitert der Commit, hat sich im Repository nichts geändert.
- Jeder Aufruf wird erneut geprüft. Die Schaltfläche ist Bequemlichkeit, keine Erlaubnis; das Recht prüft der Server bei jedem Aufruf neu, vor der ersten Anfrage an das angebundene System.
- Ein persönliches Token brauchen Sie hier nicht. Innerhalb des Wikis entscheiden die DokuWiki-Rechte; das Token ist für externe Git-Clients gedacht.
Verwandte Themen
- Eine Datei bearbeiten und committen — der Weg für eine Datei, die es schon gibt
- Repository klonen — mehrere Dateien, Binärdateien, lokales Bauen
- Änderung einreichen — beide Wege im Überblick
- Sichtbarkeits-Tier und DokuWiki-ACL — welcher Tier das Schreibrecht bringt
- Diagnose — Symptom, Ursache und Abhilfe