問題タブ [git-rerere]
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 commit で作成者を変更する方法
私はgitバージョン管理のプロジェクトに取り組んでいます。多くの貢献者がいます。プロジェクトの最初の数日間、多くのコミットが作成者なしで行われました。私はこの投稿を読みました、そしてこれも。試してみましたが、タグgit rebase -i <Original commit SHA>
でフラグを立てたすべてのコミットには、対処すべきマージ競合があります! 古い修正を使用するedit
ように呼び出しを調べましたが、変更がキャッシュされており、元々gitconfig で設定していなかったため、ここではオプションではありません。rerere
rerere
true
コミットごとに行ってマージの競合に対処し直す以外に、初期のコミットの作成者を変更するにはどうすればよいですか?
git - Git で競合解決を再利用する
既存のマージ コミットから競合解決を再利用するように Git に指示できますか? コミット時に rerere を無効にしていました。新しいマージ コミットには、マージの「私たち」側にいくつかの追加のコミットが含まれています (ただし、別のファイル セットを変更したため、新しい競合が発生することはありません)。
たとえば、次の DAG を使用します。
今、私がやりたいことは、コミットm
をm^
ブランチに持ち込むことですold-master
(後でそれを新しいマスターにします)。新しいマージコミットが作成されるため(競合はありませんが)、単純に にマージmaster
したくありません。コミットを親として再作成しold-master
たい。o
m
a
新しい DAG は次のようになります。
後で既存のマージコミットの解決を記録するように指示できれば、rerere を使用してもかまいません ( o
)。
git - 「サブモジュールのマージ競合」の自動解決に git rerere (または同様のもの) を使用する方法は?
ブランチ B をブランチ A にリベースしようとしていますが、A の最新のコミットの 1 つが 1 つのフォルダーを削除し、それを git サブモジュールに置き換えます。
を実行した後、gitは B (約 200) のコミットごとにgit rebase A
停止し、競合を解決するように求めます。次に実行すると、次のようになります。git mergetool
実行して git rerere を有効にしようとしましたが、「解決」した後にgit config --global rerere.enabled 1
呼び出しました(入力するだけで)。git rerere
L
問題は、.git/rr-cache/
フォルダーを調べると、1 つの解決策が記録されていることがわかりますが、実際に競合を解決する必要があったのは (20 件以上の解決策の中で) 唯一の時間です。
たぶん rerere はこのタイプの解像度を記録しませんか? その場合、どうすればよいですか?
git - GitHub と "git bpf": PR と git rerere
ビジネス ニーズと古い習慣の組み合わせにより、QA/BA チームのメンバーは、リリース時に潜在的なリリース候補の開発作業の任意の組み合わせを選択する能力が必要であると考えているようです。現時点では、revert と revert revert コミット、および「コメント アウト」と「コメント解除」のコミットに関して、多くの git の「傷跡」が残っているため、これは心配です。(悲しいことに: darcs では、これは与えられたツールでもう少し簡単に達成できますが、もちろん、git を使用している darcs を使用していません。) 昨日いくつかの調査を行っているときに、機能ごとにブランチに出くわしました。(BPF) ワークフロー自動化の取り組みと、「完全な分離、完全な統合」(TITI) を維持するためのプロセス。今、私は私たちの職場環境に似たようなものを実装できるかどうかを理解しようとしています. (QA / BA構造に自動化をどのように潜在的に反映させることができるかという他の質問は言うまでもありません...)
BPF の TITI プロセスは共有 git rerere キャッシュに大きく依存しているため、使い捨てブランチまたは統合ブランチで統合マージを実行できますが、リリース候補 (QA) ブランチを構築するときのチェリー ピッキング プロセスには再利用できます。ここで特に重要なのは、ソース ブランチを完全に分離したままにするために、「ソース」ブランチにマージしないことです。そのため、統合マージとして GitHub PR を使用しているワークフローで、それがどのように機能するかを理解しようとしています。明らかに、PR は現在複雑なマージを許可しておらず、現在のワークフローはソース ブランチでのマージの競合を修正することですが、BPF を試した場合、分離の原則に違反することになります。理論的には、使い捨てのマージ手法を実行できますが、rerere キャッシュを共有するために GitHub をどのようにセットアップしますか?
TL;DR:共有された rerere を処理し、GitHub のプル リクエストを引き続き使用するための最良の方法は何ですか?
(余談: 現在、これを行う必要があるのはリポジトリの 1 つだけであり、そのリポジトリは現在 GitHub for Enterprises のオンプレミスでホストされているため、SSH アクセス権を持つ管理者に git をハッキングするよう説得できる可能性がわずかにあります。そのリポジトリのマシンで config を実行して、共有 rerere と auto-rerere をオンにします. しかし、そのようなハックに頼ることには多くの脆弱性があり、他のビジネス ユニットから、なぜ私たちが行っていることを実行できないのかという疑問が生じる可能性があります.パブリック GitHub と、潜在的な GitHub の更新の問題だけでも、git 構成のハックを壊す可能性があります。そもそもそれらが機能することを前提としています...)
git - git rerere diff 出力の最初のセクションは何ですか?
私はGit Book の Git-Rerere セクションに取り組んでいます。走ったところgit checkout master; git merge rerere2; git rerere diff
です。これが出力です。
差分セクションは 3 つあります。
<<<<<<<
何を示していますか?<<<<<<< HEAD
HEAD
支部が貢献したいことを示します。>>>>>>> rerere2
rerere2
支部が貢献したいことを示します。
最初の差分セクションは、rerere2
貢献したいものの否定のようです。しかし、それは私には意味がありません。最初のセクションはどういう意味ですか?
git - git競合表記が表示されない
2 つのファイルをマージしようとすると、競合が発生しました。
user.py を調べたところ、慣れ親しんだ git-conflict-notation/mark はありません。
何が問題なのですか?
git - Git rerere ファイルのパターン?
rerere
特定のファイル パターンのマージ解決のみを記憶して適用するようにgit を構成できますか? すなわち:ちょうどパターンにpom.xml
。