Dev für eine lange Zeit, aber die Umstellung auf Git für die Versionskontrolle.Haben Remote-FTP-Änderungen nach dem Auschecken eines Git-Zweigs nur Auswirkungen auf Zweig oder Master?
Verzeihen Sie meine wahrscheinlich schmerzhaft offensichtliche Frage hier, aber wie verhält sich git im folgenden Szenario?
Wenn ich eine Verzweigung, 'A', erstellen und diesen Zweig auschecken, wenn ich dann einen FTP-Client öffne, eine Datei herunterladen, einige Änderungen vornehmen und sie erneut hochladen (oder remote mit einem FTP von Sublime aus bearbeiten) Plugin), wurde an dieser Stelle Master geändert oder nur die Verzweigung? Was passiert, wenn jemand anderes diese Datei auf unserem Entwicklungsserver bearbeitet, während ich die Zweigstelle ausgecheckt habe?
Mein Gutdünken sagt, dass man nicht mehrere Personen bearbeiten kann, die physische Dateien auf dem gleichen Server bearbeiten, sondern lokal oder auf einen Dev-Server klonen müssen, der für ihre eigene Bearbeitung gesponnen wird (auch wenn das fürchterlich ineffizient ist). Ich versuche nur sicherzustellen, dass ich meine Gedanken über die Git-Konzepte gut genug verstanden habe.
Bei der Entwicklung von SAP wurden 'Transporte' erstellt, in denen Änderungen verfolgt wurden, aber alle editierten die gleiche Datei auf dem gleichen Server, aber die Transporte zeichneten auf, welche Änderungen vorgenommen wurden und von wem musste Dateien überall klonen. Nicht sicher, Git funktioniert auf die gleiche Weise.
Jede Erläuterung zu diesem Thema wäre hilfreich.
Danke!
Danke für die Erklärung. Obwohl ich weiß, dass Technologie wie Docker aus genau diesem Grund explodiert, ist es für mich immer noch schwierig zu verstehen, wie ein Entwickler an mehreren Projekten arbeiten kann und lokal bearbeitet werden soll - wie stellen Sie sicher, dass Ihre lokalen Einstellungen mit denen übereinstimmen Änderungen an? – Wes
Wenn ein Benutzer Änderungen vornimmt und an Remote sendet, erhält der Remote-Zweig einen Commit voraus, und der lokale Zweig eines anderen Benutzers, der nicht über den Commit verfügt, ist ein Commit. Wenn er also versucht, seine Änderungen zu ändern, wird Git dies nicht akzeptieren. Aber einfach, er wird gebeten, vor dem Schieben zu ziehen. Auf diese Weise wird die Reihenfolge der Commits zu jedem Zeitpunkt sowohl in der Remote- als auch in allen lokalen Kopien in verschiedenen Dev-Maschinen beibehalten. – venkatKA