問題タブ [format-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 最後のコミット以降にGitでパッチを作成するには?
最後のプッシュ以降のコミットを含む単一のパッチ ファイルを作成するには、どのコマンドを使用できますか?
ありがとう、ナブニート
github - GitHub の特定のコミットからパッチをすばやく取得するには?
GitHub リポジトリに特定のコミットがあり、そこからパッチを抽出して別の場所に適用したいと考えていますgit format-patch
。
私は怠け者であるか、リポジトリが大きすぎて、そのパッチを抽出するためだけにリポジトリ全体を取得したくありません。
どうすればこれをすばやく行うことができますか?
git - どちらを使用するのが良いですか?またその理由は? git format-patch または git bundle?
私は基本的に3つの質問があります:
- どちらを使用するのが良いですか?またその理由は? git format-patch または git bundle?
- コミットおよび BLOB/ツリーの SHA-1 キーを計算するために GIT が使用するすべてのメタデータは何ですか?
- format-patch によって作成されたパッチを適用すると、同じ変更とコミットに対して異なる SHA があるのはなぜですか?
git - am で --keep-cr をいつ使用し、どのバージョンの git で導入されましたか?
組織のパッチ ワークフローを形式化しようとしています。空白 (可能であればユーザーごとに同じにしたい)、EOF/EOL 文字などを気にしない内部プロジェクトがあります。Mac と Windows プラットフォームの両方で作業している開発者がいます。どちらの場所でも、Cygwin で git を使用しています。
ここで、core.autocrlf true がトリックを行うか、使用できることを読みました--keep-cr
。しかし、ここで VonC はcore.autocrlf
falseがより良い戦略であることを示唆しています。
私の質問は次のとおりです。
- true を使用する場合と false を使用する場合 (私はgitにバグを与えたくないだけで、パッチはスムーズに適用する必要があります)。
--keep-cr
導入されたのはいつ?私は git 1.7.2 を使用していますが、man ページにはこのオプションがありませんか?- パッチのワークフローをスムーズにするために使用する空白を無視するオプションは何ですか?
git - メールスレッド形式のパッチ -- どのように?
私は他の3人とツールを開発しています。通常、git のパッチを介してやり取りします。1. A が変更を行い、format-patch を使用してパッチを作成し、それをメール (outlook) に添付して送信します。2. B と C をダウンロードし、場所に置き、x
am を使用して適用します。
私の質問は次のとおりです。
- 私たちは何か悪いことをしていますか?(パッチを Outlook に明示的に添付してダウンロードする必要があるため)
- この形式でパッチを前後に見ることができるツールまたは方法はありますか? そのため、git 自体からパッチ全体の会話を一度に取得できるため、conv 履歴の見通しを調べる必要はありません。
git - 外部のパッチが適用されたファイルのコミットされたバージョンを見つける
Git リポジトリを持っているファイルの古いフォーラム スレッドで、パッチが適用されたファイルを見つけました。
使用されたファイルのバージョンを知りたいです (おそらくdiffstatが少ないバージョンですか?)
私はまだgitの初心者です。
このようなチェックのための組み込みの git は既にありますか? そうでない場合、ファイルの変更された各バージョンを一覧表示し、特定のバージョンをチェックアウトするにはどうすればよいですか? (マスターブランチしかありません)
git - 複数ブランチ設定での git format-patch
1. 要約
私の最終的な目標は、linux-kernel リポジトリ内のクライアントのブランチで行われたクライアントの変更を、別の linux-kernel リポジトリに持ち込むことです。これは、両方が共通のベース タグ (たとえば、クライアントのブランチの元となった v4.2) を持っているという事実を前提としています。最初に作成されます)。
そのために、クライアントのブランチのベースとヘッドの間の差分を表すパッチのスタックを作成しようとしています。この最初のステップでは、git format-patch
. 2 番目のステップは、git am
.
git diff
diff
コミットのメタデータ (作成者、メッセージなど) を失いたくないので、GNUには興味がありません。
2. デモのセットアップ
問題を例示するために、簡単な git commit フローを作成しました。次のグラフは、このデモ リポジトリのブランチ設定を示しています。
3. 問題を再現する手順
$ git status
On branch master Your branch is up-to-date with origin/master. nothing to commit, working directory clean.
$ git format-patch BASE
0001-commit-2-br1.patch
$ git checkout BASE
HEAD is now at 65772fd... commit 3-master
$ git apply 0001-commit-2-br1.patch
error: patch failed: file:1 error: file: patch does not apply
4. 追加情報と質問
git diff BASE f316460 > my.patch
動作します!ただし、要約に記載されているように、これは私にとって解決策ではありません。git format-patch
複数のブランチのセットアップでは十分に賢くないと思います。誰かが同じ問題に遭遇しましたか?なしで同じ目標を達成する方法はあります
git format-patch
か?
git - 空のコミットで git format-patch が予期しない結果を返す
この問題に関する git ドキュメントに関する説明が見つかりませんでした:
ダミーの差分を使用してダミーのコミットを作成すると、実行時に通常のパッチが取得されます
git format-patch -1 -o outgoing/ -p -k
ただし、最後のコミットが空のコミットである場合、によって生成されます
git commit --allow-empty "Some commit message"
その場合、フォーマット パッチの出力は空のパッチになります。最初のケースが次のようなものを生成する場合:
2番目のケースでは、代わりにこのようなものを生成すべきではありませんか?
git - format-patch を使用した git 複数件名プレフィックス
format-patch
git のオプションを使用しているときに、複数のサブジェクト プレフィックスをパッチに追加したいと考えました。
件名は次のようになります
これを行う方法?
やっている
結果は