2017-03-04 7 views
1

UpstreamとDownsteramの2つのリポジトリがあり、それぞれが異なるconfig.luaファイルがあります。 config.luaファイルを無視しながら、DownstreamからUpstream(またはその逆)からPull Requestを使用したいとします。使用できないGithubはプルリクエストで下流の設定ファイルを無視します

関連SOの答え:

我々はconfig.luaファイルを毎回除く時間を費やす必要はありませんので、Github - Pull Request, ignore some file changesでの答えが私たちのために動作しません。

この回答(Using git, how do I ignore a file in one branch but have it committed in another branch?)はもう明らかに機能しません(とにかくこれはブランチと同じです)。

https://stackoverflow.com/a/8014154/7656871で与えられた答えでGithubを動作させることができませんでした。 (!ハックのように思えるが、どうやら必要):私は次のことを試してみた

  1. はconfig.luaファイルを作成し、 せるように、異なる競合を、それを変更し
  2. はと.gitattributesを追加しましたコンテンツconfig.lua merge=ours
  3. は、コンテンツを.gitconfig追加: [merge "ours"] driver = true
  4. githubのPRは、まだ変更を検出し、それが自動的にマージすることはできませんと主張しています。

また、このマージストラテジが発生するようにマージ競合を作成するのは悪いハックだと思います(Is it possible to exclude specific commits when doing a git merge?参照)。ダウンストリームフォークが複数ある場合、プロセスが複雑になります。

プルリクエストを実行するときに、ダウンストリーム設定ファイルを無視する簡単な方法はありませんか?

答えて

0

まず、GitHubはGit reposのフロントエンドです。 GitHub PRは実際には2つのブランチをマージすることになっているので、これはGitの質問です。そこにファイルを除外する方法はありません。


この問題に対する解決策は、すべての設定ファイルをコミットするのではなくgitignoreにfoo.cfgを加えながらfoo.cfg.exampleをコミットしないように通常です。

設定ファイルをコミットすることを避けることができない場合は、一意の名前を付けないでください。 foo-team1.cfg,foo-team2.cfgなど?そうすれば、彼らは追跡されますが、あなたはあなたの設定を上書きする他の人の設定の変更との競合や問題はありません。

関連する問題