問題タブ [squash]

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.

0 投票する
2 に答える
3211 参照

eclipse - Eclipse で git マージ スカッシュを実行する方法

時々、Eclipse からスカッシュをマージする必要があります。コマンド ラインで実行できることはわかっていますが、Eclipse にグラフィック オプションを統合すると非常に便利です。あなたはそれを行う方法を知っていますか?

0 投票する
2 に答える
1427 参照

github - マスターでの Github リポジトリ スカッシュ コミット

私は、歴史的に多くのコミットが「バグ修正」、「今回は実際のバグ修正」、「最終的なバグ修正」、「最終的に修正」された github リポジトリで作業しています。

これらはマスターに直接コミットされました。どうすればそれらをつぶすことができますか?

1年前の彼の投稿から-基本的にこれは悪いように聞こえます.githubで複数のコミットを押しつぶしたい. この1年で何か変化はありましたか?

0 投票する
1 に答える
473 参照

git - 指定されたハッシュまでの非対話的な修正

時間のコミットがあるとしましょう

コミットされていない変更はありません。私がやりたいのは、 , の後firstのすべてを非対話的に押しつぶすことです。に相当するものが欲しい

ここでは例として 4 つのコミットを使用していますが、実際のコミット数は異なります。ただし、コミットのハッシュはわかっているので、それを使用したいと思います。

これを検索しても無駄でした (正しい用語を検索していない可能性があります)。多くの解決策が見つかりましたが、この正確な状況には決してなりませんでした。

0 投票する
1 に答える
58 参照

git - プル リクエスト中の git 混乱の修正

github プロジェクトのプル リクエスト中に作成された大量の git コミットがあります。私はすべてのコミットをまとめてつぶすように頼まれましたが、それ以来、PR の進行中にリポジトリにプルした他のコミットを誤ってマージ、リセット、およびマージするという信じられないほどの混乱を引き起こしました。

私ができるようにしたいのは、プルリクエストに実際に関与している2つのファイルを別のディレクトリにコピーし、PRのために作成した最初のコミットにリセットして、新しいファイルをPR が単一のコミットで表示されるように、最新の変更をコミットしてからコミットします。これは可能ですか?ありがとう!

0 投票する
1 に答える
8624 参照

git - ソースツリーで2つ以上のコミットをスカッシュしますか?

オリジン/マスターへの最後のプッシュ以降、約 20 件のコミットを多数行っています。複数のブランチ、マスターを持ったことはなく、すべてのコミットはマスターで行われました。できればsourcetreeを使用して、20個のコミットすべてを1つのコミットにまとめるにはどうすればよいですか? これをやりたいので、1 つのコミットを origin/master にプッシュするだけです。

sourcetree では、リポジトリ メニューでインタラクティブな rebase コマンドを使用する方法を見つけました。スカッシュしたいコミットの正確なリストが表示されます。それらすべてを含む1つのコミットが表示されるまで、スカッシュボタンを繰り返し押してみました。しかし、OK を押すと、最近の 2 つのコミットのみが押しつぶされてしまいます。そのため、ダイアログが実際には複数を押しつぶすことができることを示しているように見えても、私はそれを機能させることができません。

0 投票する
2 に答える
1197 参照

git - 押しつぶされたコミットの履歴を取り戻すことは可能ですか?

ここで Git ルーキー。複数のコミットを 1 つのコミットにまとめ、単一のコミットを既にリモート リポジトリにプッシュしました。今、私は押しつぶされたコミットのいくつかを取り戻したいと思っています。出来ますか?

0 投票する
1 に答える
239 参照

git - 履歴を保持したまま git ブランチを上書きする

私たちのチームは、プロジェクトの 2 つのバージョンを並行して開発しています。

ブランチのコミットmasterは基本的に古いコードのバグ修正でしたが、v2setupブランチには完全な書き直しが含まれています。

これらのバグ修正が行われていなければ、単純に新しいブランチをマスターに戻すことができましたが、間違っていなければ、厄介な競合が発生するだけです。

では、どうすればそれができるでしょうか?

0 投票する
1 に答える
2042 参照

git - Git: 最新のコミットではなく、ルートから開始されていない連続したコミットを押しつぶす

最新のコミットのスカッシュとルートでのコミットのスカッシュに関するいくつかの関連する質問を確認しましたが、どちらもルートにない最近のコミットをスカッシュするのに役立ちません。

これが私の開始シナリオです:

そして私の望ましい結果:

どこは 、 、 、ZのスカッシュでありF---G---HF---G---H分岐していないコミットの任意の長さのシーケンスにすることができます。D---EI---J

最初のアプローチ:

ここで、最も古いコミット (インタラクティブなリベースの最初の行) を残しながら、コミットF---G---Hをに選択します。なぜこれが機能しないのですか?squashpick

更新: コマンドの最後で、リベースがHEAD コミットDで進行中です。E確かに、開始時に進行中のリベースはなく、git rebase --abort再度実行中に呼び出すと同じ結果になります。上記のリンクに従って、ルートまたは HEAD でこれを行うと、すべて正常に動作します。

2 番目のアプローチ:

[新しいブランチをマージすることにより (フォーラムの最後の投稿)][ http://git.661346.n2.nabble.com/Non-interactive-squash-a-range-td5251049.htmlgit checkout -b <clean-branch> <start-id> and ) gitを使用する別の試みを行いましたmerge --squash `、しかし、私は次のようになります:

この結果があるようです:

私は少し困惑しているので、どうすればこれらのコミットをつぶすことができますか?

最終的には、これを に実装する予定なJGitので、JGit実装も受け入れられます。

ノート

ここに重複があるかもしれませんが、回答がなく、質問が少し不明確だと思います。

アップデート

これは、以下の @ryenus の回答に対する回答です。

チェリーピックは commit で失敗しI2ます。失敗すると、私のブランチの状態はチェリーピックまで意図したとおりになり、その後にコミットされていない変更が続きます。を呼び出すと、これらのコミットされていない変更がクリアされ、commitが正しいことを確認しました。これは. をコミットしてからチェリー ピッキングを行った後、チェリー ピックが で失敗するのはなぜですか?I2I---I2---JworkD---E---Zgit cherry-pick --abortZF---G---HZF

マージ競合を作成して失敗git cherry-pick I...Jするチェリーピックを試みているようです。I2助言がありますか?

ここに私の出力があります: