7

私はオープンソースプロジェクトに取り組んでいます。現在、会社のビジネスに関連するいくつかのパッチを完了しましたが、これらのパッチをアップストリームにプッシュできません。

そのため、これらのパッチをローカルの git リポジトリに保持する必要があります。アップストリームから新しいパッチを取得し、パッチとの競合を解決する必要があります。

誰でも私のような経験があり、快適に作業する方法はありますか?

更新: Linux カーネルに受け入れられないパッチがいくつかあるのと同じように、これらのパッチはカーネルにとって友好的ではないためです。毎日カーネルを構築する必要があり、毎日手で入力したくありません。私を助けるツールはありますか?

4

4 に答える 4

2

考えられるワークフローを次に示します。

初期設定

git clone --origin 'upstream' http://example.com/project.git
cd project
git checkout master
git checkout -b patched
# make changes
git add --all
git commit -m 'internal patches'

新しい上流の変更

git checkout master
git pull upstream
git checkout patched
git rebase master

参考文献:

于 2015-11-25T04:21:08.257 に答える
-1

私はオープンソースプロジェクトに取り組んでいます。現在、会社のビジネスに関連するいくつかのパッチを完了しましたが、これらのパッチをアップストリームにプッシュできません。

Git のプロジェクトで共同作業している場合、特にそれがオープン ソースの場合、上流のリポジトリに必要なものをプッシュするだけでは許可されない可能性があります。おそらく、プル リクエストで変更を送信するか、プロジェクト マネージャーの 1 人にパッチを電子メールで送信する必要があります。

Pro Gitの次の章から、Git での他のユーザーとの共同作業について詳しく読むことができます。

  1. 分散ワークフロー
  2. プロジェクトへの貢献

興味がある場合は、 GitHub がプル リクエストを使用する方法についても読むことができます。

于 2013-07-13T19:49:18.993 に答える