問題タブ [git-interactive-rebase]
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 rebase インタラクティブ モードを実行して重複コミットを削除する方法
最近のコミットにリベースするときに間違いを犯しました。git fetch --all
(最初にリベースするのを忘れていました)、それ以来、コミットしてリモートブランチにプッシュしました。最初にフェッチしてリベースを適切に行い、競合を解決して、リモート ブランチにプッシュしました。今、私の最近のコミットはすべて 2 回表示されているようです。私がやりたいのは、git rebase インタラクティブ モードを使用し、必要なすべてのコミットを選択してから、コミット sha コードに適切にリベースすることです。
これはこれを行う方法ですか?を開始する場合git rebase -i
、どの sha コードを使用すればよいか、元の分岐点の sha コードは? または最新のshaコード?
git - 特定のコミットをスキップしながらリベースするにはどうすればよいですか?
他のブランチで特定の(競合する)コミットをスキップしながら、ブランチを別のブランチにリベースする方法はありますか?
たとえば、にリベースmybranch
したいのですmaster
が、masterには、masterのコミットと競合するコミットが含まれているため、そのコミットを完全に元に戻すことを好みます。
xは、競合するコミットをマークします。
git - git rebase -ia 自身への分岐
私のレポには次のものがありました
A.* コミットを機能 A を説明する 1 つのコミットに修正したいと思いgit rebase -i origin next
ます。これを達成する方法はありますか?
基本的に次のブランチ foo を作成し、次を foo にリベースし、続いて foo をマージ/削除することを考えました。しかし、これはずさんなようです。
git - インタラクティブにリベースするのに最適なコミットを自動的に決定するにはどうすればよいですか?
「フィックスアップ!」、「スカッシュ!」をよく使います。また、「rebase -i」を使用して、プッシュされていない最近の履歴をクリーンアップ、修正、またはいじることができます。インタラクティブなリベースに最も適したコミットを Git が自動的に選択できるようにする方法を見つけて、迅速なインタラクティブなリベースを行うためのエイリアスを定義できるようにしたいと考えています。
そのような場合に最適なコミットは、次のいずれかの最新の祖先になると思います。
- 他のブランチ (ローカルまたはリモート) に表示されます
- 親が複数いる
- 両親がいない
最初の条件は、他の人に影響を与える可能性のあるコミットを書き直さないことを保証します。2つ目は、マージを「介して」リベースしようとしないことを保証しますが、これは私が望んでいることではありません。3 つ目は単なるサニティ チェックです。
問題は、Git を使用してそのコミットを見つけるにはどうすればよいかということです。
git - 分岐後のコミット時のインタラクティブなリベース
私のgitリポジトリには、次の(簡略化された)シナリオがあります。
コミット F は C の修正であり、これは単一のコミットになる必要があります。を使用して「メイン」ブランチでインタラクティブなリベースを試みましたgit rebase -i HEAD~2
が、結果は次のようになりました。
一方、私はそれをこれにしたい:
これを達成する方法を知っている人はいますか?まだ何も押していません。
git - Git で同じブランチのコミットをリベースするには?
私は Git で間違ったリベースと競合解決を行ったので、このばかげた状況に陥りました。
私の問題は、コミットAdd task Music Collection
とAdd Music Collection
同じであることです。したい:
- ブランチに単一のパスをたどらせます。
- タイトルのコミットは 1 つだけ
Add Music Collection
です。
私はただやってgit rebase -i 8e9ccae
から、押しつぶしc66dced
てcbbe364
に名前cbbe364
を変更できAdd Music Collection
ますか?そもそもの問題は、リベースしたいコミットをGithubにプッシュしたことだと思いますが、他の誰もそれらで作業していない限り、これは大丈夫だと思いましたか?
git - smartgitは、オリジン/ローカルをローカル/または反対方向にリベースします
プルを 使用してローカルの変更をリベースするか、オリジンbracnhをフェッチしてから、「HEADをリベースする」を介して手動でローカルヘッドをオリジン/ローカルブランチにリベースすると...マージの競合が発生しますが、問題ありません...
私が邪魔されているのは2つだけです:頭の名前の後)。
誰かがこれに光を当てることができますか?また、友人のコンピューターで同じ操作を実行しようとすると、すべて問題ありません! 私もクリアログが欲しいです。しかし、まだマージブランチを使用してこの問題を解決していません。助けてください!
git - あるブランチから別のブランチへの Git リベース
私は次のケースを持っています:
そして、(H---I---J) フォームdev-team1なしで、 dev-mainブランチの新機能(K---L) ブランチのみを移動したい