私はGitHubとVCS全般に不慣れです。私は何年もさまざまな言語でプログラミングを行ってきましたが、カスタムプロジェクトでは常に単独で作業していました(公開リリースはありません)。最近、作業中のプロジェクトでGitHubからダウンロードしたjQuery UIウィジェットの使用を開始しました。リポジトリは元の作成者によって維持されなくなりました。別のフォークには、元のプルリクエストの一部が組み込まれています。これは私がフォークしたものです。
いくつかのバグを発見し、それらの修正を考え出しました。私はこれらの修正に貢献したいと思いますが、私たち自身の使用のために、既存の機能のいくつかを破壊する他の多くの変更もしたいと思います。さらに、別のフォークのアイデアを取り入れたいと思います。
私はまだGITとGitHubを学んでおり、あらゆることを行うための最善の方法を見つけようとしています。さまざまな概念/タスク(ワークフロー、マージ、プルリクエスト、チェリーピッキング、リベース、ブランチ)について多くの読書(ここでは、SO、GitHubヘルプページ、Pro Git)を行いました。私の灰白質は泳いでいるので、読み始めたことを理解するために、始めなければなりません。
主な問題:
私は(どこかに)一度にブランチ上でプルリクエストを1つしか持つことができないと読んだと思います。つまり、バグごとに個別のブランチを作成し、それぞれに個別のプルリクエストを実行する必要があるということですか?
空白の問題をクリーンアップしたいのですが、これを別のコミットで行うのが最善であると読んだことを覚えているようです。これをマスターまたは別のブランチで行う必要がありますか?些細なことに対してプルリクエストをしたくありませんが、ブランチする前に空白を変更すると、バグ修正のためのプルリクエストに影響しますか?一部のフォークは空白のクリーンアップを行い、事実上、diffをかなり役に立たなくしました。
私はすでにバグを修正しているにもかかわらず、バグを文書化する方法として、フォークに対して問題を作成することを考えていました。それは良い考えですか?問題、コミット、およびマスターへのマージをリンクするにはどうすればよいですか?アップストリームでプルリクエストを行うと、問題もアップストリームに表示されますか、それともドキュメントのリンクが失われますか?アップストリームリポジトリに対して問題を開くことができません([問題]タブはありません)。
私が使用したい他のフォーク作成者のアイデアを他のフォーク作成者に与える最良の方法は何ですか?特に彼の変更はアップストリームの古いバージョンに対して適用され、他の変更とは互換性がないため、私は彼のコードを正確に使用することはできません。しかし、私はこのアイデアを使いたいですし、クレジットが支払われるべきところでクレジットを与えたいです。コミットメッセージで彼のレポ(またはプロファイルまたは特定のコミット)にリンクするだけですか?
メインファイルの上部にあるREADMEファイルとDocBlockの変更に関するエチケットは何ですか?変更を行い、名前を追加し、リポジトリとデモへのリンクを追加し、元のデモへのリンクを削除しても構いません(私のフォークは元のデモと互換性がないため)もちろん、元の著者名とライセンス情報は残しておきます。記録のために、それはMITライセンスの下でライセンスされています。
VCSを使用したことがないソロ開発者として、私はhistoryを書き換えることに慣れています。私は完璧主義者で、きちんと整理整頓することが好きです。歴史を記録するという考えは私を少し緊張させています。プレイ/学習するための新しいリポジトリを作成しましたが、jQuery UIウィジェットの修正を進めて、プロジェクトを進めることができるようになりたいと思っています。