問題:特定のディレクトリで、Gitプッシュは非常に少数のユーザー(User1)に制限されています。他のユーザー(User2)はここで変更をプッシュできません。Gitが「別のユーザーによってコミットする」
User2がそのdirに変更をコミット(git add + Git commit)した後、User1にコミット番号を提供し、Git pushをコミットする方法がありますか?
できますか?
問題:特定のディレクトリで、Gitプッシュは非常に少数のユーザー(User1)に制限されています。他のユーザー(User2)はここで変更をプッシュできません。Gitが「別のユーザーによってコミットする」
User2がそのdirに変更をコミット(git add + Git commit)した後、User1にコミット番号を提供し、Git pushをコミットする方法がありますか?
できますか?
通常、User2
は変更を加えてコミットします。次に、変更を上流にプッシュするUser1
に提供します。
変化は、様々な機構を介して提供することができる:Eメール経由
User2
それらをgit format-patch
とUser1
にパッチを送ることができるUser2
は、電子メールの保持内容をフォーマットするためにgit request-pull
を使用することができUser1
のために彼女は変更を見つけることができた(追加の裸のレポ、User2
のマシンへの直接読み取りアクセス)あなたの要件は珍しいことではありません。オープンソース・プロジェクトの多くは、ちょうどこのように動作:誰もが変更を貢献できる一方で、それが実際のプロジェクトにこれらの変更を統合するために、特定の(信頼できる)人次第ですリポジトリ。
編集
私はここ
をgit format-patch
かgit request-pull
を使用する方法についていくつかの例を提供しますあなたがやった最後の3つのコミットのためのパッチを作成します。
git format-patch -3
をこれにより、電子メール経由で誰かに送信できる3つのパッチファイルが作成されますあなたはマスターから分岐するので、上流レポにコミットする
は、分岐my-new-feature
のすべてのコミットのためのパッチを作成します。
git format-patch master..my-new-feature
これは、それぞれがあなたがmy-new-feature
で行ったコミット取ると、それから、パッチを作成します。このパッチもメンテナーに送ってください。
は、あなたのハードディスク(Windowsの場合)から直接メンテナへの変更を公開:
\\yourmachine\yourworkingcopy
と言います。これからは、メンテナが読むことができる共有フォルダの内容は、あなたのコンソールを開き、魔法が起こるみましょう:
git request-pull origin/master file:////yourmachine/yourworkingcopy my-new-feature
これはあなたのコンソールに既製Eメールのテキストを吐き出しますあなたのメンテナーに連れて行くことができます。
ありがとうございます。可能であれば例を挙げてください。 –
@ Mr.Bordoloi:例が追加されました! – eckes
コミットを転送する方法はいくつかあります。 User2は自分のコミットをUser1に郵送し、User1はそれをプッシュします。つまり、要するに、はい。しかし、私はUser2が "特定のディレクトリ"に+ commitを追加することはできないはずだと思います。 User2が自分のリポジトリをクローンしてそこに変更を加えた方が良いでしょう。 – ikrabbe