2016-03-29 14 views
1

Problem: In einem bestimmten Verzeichnis ist Git Push auf sehr wenige Benutzer (User1) beschränkt. Andere Benutzer (Benutzer2) können ihre Änderungen hier nicht übertragen.Wie man Git einen 'commit von einem anderen Benutzer' pusht

Gibt es einen Weg, so dass - der User2 die Änderungen (git add + Git commit) in diesem Verzeichnis festschreibt, dann gibt er die Commit-Nummer an User1 und die letztere an den Git-Push?

Kann es getan werden?

+0

Es gibt mehrere Möglichkeiten Commits zu übertragen. User2 kann seine Commits an User1 senden, der sie dann zum Beispiel drückt. Also kurz gesagt, ja. Aber ich nehme an, es sollte nicht möglich sein, dass User2 + Commit in diesem "bestimmten Verzeichnis" hinzufügt, wenn er nicht in der Lage ist, zu drücken. Es wäre besser, wenn User2 sein eigenes Repository klont und dort seine Änderungen vornimmt. – ikrabbe

Antwort

2

Normalerweise ändert User2 die Änderungen und schreibt sie fest. Dann stellt sie diese Änderungen an User1 zur Verfügung, wer die Änderungen stromaufwärts drückt.

Die Änderungen können über verschiedene Mechanismen zur Verfügung gestellt werden:

Ihre Anforderung ist nicht ungewöhnlich: viele Open-Source-Projekte wie diese gerade arbeiten: während alle Veränderungen beitragen könnte, ist es bis zu einem bestimmten (vertrauenswürdig) Menschen diese Änderungen in das aktuelle Projekt zu integrieren Repository.


bearbeiten
Ich werde einige Beispiele für geben, wie für die letzten 3

git format-patch oder git request-pull hier verwenden
  1. Patches erstellen verpflichtet Sie tat:

    git format-patch -3 
    

    Dadurch werden 3 Patch-Dateien erstellt, die Sie per E-Mail an jemanden senden können, der erlaubt ist auf dem Upstream-Repo

  2. Patches zu begehen erstellen für alle Commits der Branche my-new-feature, da Sie von Master abgezweigt:

    git format-patch master..my-new-feature 
    

    jeder begehen Sie haben in my-new-feature und erstellen daraus Dies wird einen Patch. Senden Sie diese Patches erneut an den Betreuer.

  3. an den Betreuer Veröffentlichen Sie Ihre Änderungen direkt von der Festplatte (Windows):

    • mit dem Betreuer Arbeitsverzeichnis Teile (geben Sie ihnen den Zugang lesen), sagt, wie \\yourmachine\yourworkingcopy.

      git request-pull origin/master file:////yourmachine/yourworkingcopy my-new-feature 
      

      Dieser spuckt einen fertigen E-Mail-Text an die Konsole, die Sie: Von nun an konnte die Maintainer

    • öffnen Sie Ihre Konsole und lassen Sie die Magie passiert den Inhalt des freigegebenen Ordners lesen könnte nehmen und an Ihren Betreuer senden.

+0

Danke. Können Sie bitte ein Beispiel angeben, wenn möglich? –

+0

@ Mr.Bordoloi: Beispiele hinzugefügt! – eckes

Verwandte Themen