Kann ich zwei Dateien bearbeiten und dann einen Commit mit dem webbasierten GitHub-Editor durchführen?

Lesezeit: 7 Minuten

Benutzer-Avatar
shengbinmeng

GitHub hat die nette Funktion der webbasierten Dateibearbeitung. Es scheint jedoch, dass ich nach dem Bearbeiten einer Datei die Änderungen für diese Datei festschreiben muss, bevor ich fortfahre. Gibt es eine Möglichkeit, zwei oder mehr Dateien zu bearbeiten und dann einen Commit für alle Änderungen vorzunehmen?

Ich denke, das wäre besser, da zu viele unnötige Commits ärgerlich sind.

  • Wenn GitHub will Mainstream werdensollten sie für diejenigen, die Bash nicht kennen, besser die gesamte Git-Schnittstelle im Web implementieren.

    – Ciro Santilli Путлер Капут 六四事

    18. Februar 2014 um 12:44 Uhr

  • Anfrage an: Isaacs: github.com/isaacs/github/issues/1665

    – Ciro Santilli Путлер Капут 六四事

    21. September 2019 um 8:01 Uhr

Benutzer-Avatar
Viktor Istomin

Es gibt eine webbasierte Problemumgehung:

  1. Erstellen Sie einen temporären Zweig, wechseln Sie zu ihm;
  2. Mehrere Dateien bearbeiten, jede Datei separat übertragen;
  3. Pull-Anfrage stellen;
  4. Unter Pull-Request zusammenführen Taste, wählen Squash und verschmelzen (wenn das Repo es zulässt), dann Merge bestätigen;
  5. Temporären Zweig löschen.

Ich verwende diese Methode auf einem PC, auf dem ich Git nicht installieren möchte.

  • Es funktioniert großartig. Nur eine wichtige Sache, wenn Sie die Pull-Anforderung validieren und zusammenführen, stellen Sie sicher, dass Sie auswählen Bestätigen Sie Squash und Mergeund nicht Zusammenführung bestätigen (Standard). help.github.com/articles/about-pull-request-merge-squashing

    – Mar Cnu

    20. Mai 2016 um 16:51 Uhr

  • Können Sie die Schritte 3 und 4 erweitern? Ich möchte 2 Dateien in meinem Fork eines Repos bearbeiten und dann eine PR mit nur einem Commit mit den beiden Änderungen einreichen. Wie kann ich eine Pull-Anfrage stellen (gegen meinen eigenen Fork?) und sie zusammenführen? Ich habe keinen Schreibzugriff auf das ursprüngliche Repo.

    – Dan Dascalescu

    6. Juli 2016 um 9:17 Uhr

  • 1. Erstellen Sie Ihren Fork und temporären Branch. 2. Bearbeiten Sie Dateien im temporären Zweig. 3.1. Squash verpflichtet sich zu Ihrem Master-Zweig. 3.1.1. Klicken Sie im temporären Zweig auf „Pull-Anforderung erstellen“ und stellen Sie sicher, dass „Basis“ Ihr Master ist. Erstellen Sie eine „lokale“ Pull-Anfrage. 4. Klicken Sie auf „Merge Pull Request“ und füllen Sie die Commit-Nachricht aus. Klicken Sie auf die grüne Schaltfläche “Squash bestätigen und zusammenführen”. Jetzt haben Sie einen einzigen Commit mit 2 bearbeiteten Dateien auf Ihrem ‘Master’. 5. Um die Pull-Anforderung an den Ursprung weiterzugeben, erstellen Sie eine Pull-Anforderung und geben Sie das ursprüngliche Repo als „Basis“ an. Wenn eine Pull-Anforderung erstellt wird, können Autoren Ihre Änderungen überprüfen und zusammenführen.

    – Viktor Istomin

    6. Juli 2016 um 22:10 Uhr

  • Ich denke jedoch, dass Sie diesen Trick mit einem temporären Zweig nicht benötigen, wenn Sie ihn in ein anderes Repository übertragen möchten. Ändern Sie einfach die Dateien in Ihrem Fork nach Belieben und füllen Sie eine Pull-Anforderung an das Ursprungs-Repository aus. Der Origin-Betreuer kann Ihre Pull-Anfrage zusammenführen und Commits bei Bedarf quetschen.

    – Viktor Istomin

    6. Juli 2016 um 22:14 Uhr

  • Die Frage „Gibt es eine Möglichkeit, zwei oder mehr Dateien zu bearbeiten und dann einen Commit durchzuführen“ – die Antwort wird zu mehreren Commits und einem Merge-Commit führen. Squashing statt Merging kann funktionieren, ist aber nicht verfügbar, wenn Dateien in einer Pull-Anfrage bearbeitet werden, die aus einem Repository stammt, auf das man keinen Schreibzugriff hat.

    – fwyzard

    25. August 2019 um 13:49 Uhr

Benutzer-Avatar
Herr-IDE

Ja, es gibt eine Möglichkeit, 2 Dateien zu bearbeiten, wenn Sie Ihre erste Datei bereits in der Webbrowser-Ansicht von GitHub bearbeitet haben. Es basiert auf der Anleitung hier:

https://webapps.stackexchange.com/questions/95940/how-can-i-change-multiple-files-and-submit-them-in-one-pull-request-on-github

Die Zusammenfassung und verdeutlichten Schritte sind:

  1. Bearbeiten Sie Ihre erste Datei, indem Sie im Repository eines anderen Benutzers auf das Symbol Bearbeiten klicken. Speichern Sie diese Änderung in Ihrem ersten Commit. GitHub erstellt automatisch einen neuen Branch/Fork für Sie, wie „patch-1“.
  2. Erstellen Sie noch keinen Pull-Request.
  3. [This part is the most difficult, because it’s not obvious] Gehen Sie zur Liste der Repositories in Ihrem Profil unter github.com ➔ click icon at top-right ➔ Your Repositories. Gehen Sie dann zu dem gegabelten Repository, das Sie gerade erstellt haben, und Wechseln Sie zum Zweig “patch-1”.
  4. Nehmen Sie weitere Änderungen an einer anderen Datei vor und übertragen Sie sie in Ihren “Patch-1”-Zweig. Wenn Sie fertig sind, klicken Sie oben auf die Registerkarte „Pull Requests“ und dann auf Vergleichen & Pull-Request oder Pull-Request erstellen. Sie sollten Ihre 2 Commits in diesem Pull-Request sehen.
  5. Wenn Sie die Schaltfläche „Pull Request erstellen“ nicht sehen, öffnen Sie eine URL wie diese in Ihrem Webbrowser: https://github.com/TargetPerson/TargetGitRepo/compare/master...MyGithubUsername:patch-1
  6. Dadurch wird eine Ansicht angezeigt, in der Sie Ihre Änderungen mit dem ursprünglichen Zielzweig im Repository des anderen Benutzers vergleichen können. Drücken Sie dann die Pull-Request erstellen Taste.

  • Bei Punkt 4 fand ich zwei „Pull Requests“ Buttons, ich musste auf den unteren klicken und dann auf „New Pull Request“, um auf eine Vergleichsseite zu gelangen. Dann wählte ich den „Patch-1“-Zweig und ging weiter.

    – mmj

    14. November 2020 um 18:02 Uhr


Der neue und bessere Ansatz besteht darin, den in GitHub integrierten Online-VSCode-Editor zu verwenden.

  1. Drücken Sie. (Punkt) auf Ihrer Tastatur, wenn Sie Ihr Repository anzeigen. Dadurch wird eine In-Browser-VSCode-Instanz (auf github.dev) gestartet.
  2. Nehmen Sie Ihre Änderungen über mehrere Dateien hinweg vor, genau wie Sie es lokal tun würden.
  3. Verwenden Sie die Seitenleiste auf der linken Seite, um das Git-Menü auszuwählen, und übergeben Sie die GUI wie gewohnt. Sie können dort auch einen Pull-Request erstellen, wenn Sie keine Schreibrechte haben.

Geben Sie hier die Bildbeschreibung ein

Benutzer-Avatar
Jordan McCullough

Der GitHub-Webflow unterstützt eine Datei pro Commit. Um mehrere Dateien zu einem einzigen Commit hinzuzufügen, müssen Sie das Repository lokal klonen, die Dateien bearbeiten, dann committen und pushen.

Die Befehlszeile würde so aussehen:

  1. cd zum Verzeichnis

  2. Staging aller modifizierten Dateien mit

    git add <file-1> <file-2> <etc>
    
  3. Verpflichte dich mit

    git commit -m'<your-message>
    

    oder wenn Sie einen externen Editor starten möchten

    git commit
    
  4. Senden Sie den Verlauf/Commit mit

    git push
    

Benutzer-Avatar
davidqshull

Nachtrag zu dem, was @VictorIstomin und @MarCnu gesagt haben:

Wenn Sie anstelle des Inhalts dieser Dateien eine Reihe von Dateinamen bearbeiten möchten, folgen Sie einfach den Anweisungen von Victor, aber Sie müssen “Squash and Merge” nicht bestätigen. Sie können einfach auf “Confirm Merge” klicken (was die einzige Option sein sollte, da Sie den Dateiinhalt nicht wirklich bearbeitet haben.

Die Frage wurde gut beantwortet, ich wollte dies nur für zukünftige Zuschauer klarstellen, die möglicherweise Dateinamen ändern, was ich häufig in GitHub mache.

Benutzer-Avatar
Iljitsch

Nehmen wir an, das betreffende Repo ist https://github.com/repoBenutzername/repoName

  1. Verzweigen Sie das Repository, indem Sie auf die klicken Fork Schaltfläche oben auf der Repo-Seite.

Geben Sie hier die Bildbeschreibung ein

  1. Bearbeiten Sie so viele Dateien, wie Sie möchten, über den webbasierten Dateieditor in Ihrem Fork des Repos. Committen Sie jede Datei einzeln.

  2. Gehe zu https://github.com/repoUsername/repoName/pulls und drücken Sie das große Grün New pull request Taste.

Geben Sie hier die Bildbeschreibung ein

  1. Auf der nächsten Seite klicken compare across forks Verknüpfung.

Geben Sie hier die Bildbeschreibung ein

  1. Dann in Choose a Head Repository Feld wählen Sie Ihre Gabel aus

Geben Sie hier die Bildbeschreibung ein

  1. Create pull request Schaltfläche erscheint. Klick es.

Geben Sie hier die Bildbeschreibung ein

  1. Geben Sie Titel und Beschreibung Ihres Pull-Requests ein und klicken Sie darauf Create pull request Taste erneut.

Geben Sie hier die Bildbeschreibung ein

Benutzer-Avatar
etwas Zufällig

Wenn Sie keinen temporären Zweig erstellen und die Änderungen zusammenführen möchten (was zu einer Reihe von Pull-Anforderungen im Repository führt, die gerade zum Zusammenführen von Commits verwendet wurden), können Sie mehrere (geänderte) Dateien hochladen und GitHub erstellt eine einzige sich mit ihnen verpflichten.

Beachten Sie, dass beim Hochladen von Dateien die Dateien in den aktuellen Ordner hochgeladen werden, der auf GitHub sichtbar ist.

Der Nachteil dieser Methode besteht darin, dass Sie, wenn Sie Dateien in verschiedenen Verzeichnissen ändern müssen, entweder alle Ihre Projektdateien hochladen müssen (was langsam sein wird) oder ein Skelettverzeichnis Ihres Projekts erstellen und die geänderten Dateien dort ablegen müssen (damit GitHub die richtigen Dateien ändert und keine neue Datei erstellt).

Seien Sie vorsichtig, wenn Sie diese Methode verwenden, da GitHub Ihnen Ihre Änderungen erst anzeigt, nachdem Sie die Dateien festgeschrieben haben.

1316870cookie-checkKann ich zwei Dateien bearbeiten und dann einen Commit mit dem webbasierten GitHub-Editor durchführen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy