問題タブ [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.

0 投票する
6 に答える
29551 参照

git - git rebase interactive: マージ コミットを一緒にスカッシュします

インタラクティブなリベース中に 2 つのマージ コミットをまとめて押しつぶす簡単なソリューションが必要でした。

私のリポジトリは次のようになります。

つまり、my-feature最近 2 回マージされたブランチがあり、間に実際のコミットはありません。my-featureブランチは独自の公開ブランチであるため、ブランチをリベースするだけではなく、最後の 2 つのマージ コミットを 1 つにまとめたいだけです (これらのコミットはまだ公開していません)。

私は試した:

しかし、私は得ました:

私が最終的にやったことは次のとおりです。

現在、新しいマージ コミットはマージ コミットとは見なされなくなりました (最初の親のみが保持されます)。そう:

しかし、コミットが多い場合、これは複雑になる可能性があります。より良い解決策はありますか? ありがとう。

ミルドレッド

0 投票する
5 に答える
164028 参照

git - 「git rebase」を使用して古いコミット メッセージを変更する

here で説明されているように、古いコミットメッセージを編集しようとしていました。

問題は、今、実行しようとすると、と表示されるrebase -i HEAD~5ことinteractive rebase already startedです。

だから私は試してみます:git rebase --continueしかし、このエラーが発生しました:

何か案は?

0 投票する
3 に答える
4401 参照

git - Gitリベースを使用してコミットを並べ替え/結合するにはどうすればよいですか?

リベースでかなりの数時間遊んだ後でも、リポジトリは私が必要としているものとはまだ異なって見えます:

次のタスクを実行したいと思います。
[リベースをいじり始める前は、そのうちのいくつかは問題ありませんでした:(]

  • 一番上のコミット(「余分なものを削除しました...」)をブランチオフの前(「#226の修正」のすぐ上)に移動します。
  • 'twist/main'ブランチにある2つのコミットを結合します。「comma」と「Movedloaded...」は同じコミットである必要があり、「comma」のコミットメッセージはまったく必要ありません。
  • 新しく結合された「Moveloaded」コミットを「backup」ブランチにマージし、「twist」を取り除きます。
  • 「master」を「backup」と表示されている場所に移動します。
  • その「remote/origins / master」タグはどういう意味ですか?

ここに画像の説明を入力してください

これは多くのことを求めていると思いますが、実際のGITコマンドを含めてください。

自分で読んで試してみてもかまいませんが、期待した結果と一致しない結果に少し混乱しており、誤ってコミットを破棄したくありません。

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

git - リベース後にプッシュする方法は?

適用されたopをリベースした後、コードをオリジンサーバーにプッシュしたい。競合は毎回報告されます。

0 投票する
3 に答える
21561 参照

git - Git: 永続的な並列ブランチを維持する方法

プロジェクト (PHP アプリケーション) がありますが、各クライアントのインストールはさまざまで、ほとんどない場合もあれば、それ以上の場合もあります。それでも、ソース コードの大部分は共通です。特定のインストールをマスター ブランチへの並列ブランチとして管理し、変更をマスターから他のブランチに転送する必要があります。Gitで同じ状況が解決されました: わずかな違いで (ほとんど) 並列ブランチを維持するにはどうすればよいですか? 最も投票された解決策は、次の方法でブランチ間で変更を転送することでした。

ソリューションで述べたように、リベース後に非早送りプッシュが作成されますが、これは非常に不快な複雑さです。私の質問は-代わりにやらない理由:

0 投票する
4 に答える
22694 参照

mercurial - Mercurial で変更セットを新しいブランチに移動する方法

変更セットをあるブランチから別のブランチに移動したいと考えています。基本的に、私は現在持っています:

そして私が欲しい:

some_new_branch がまだ存在しない場所。私はgitに慣れているので、単純な「水銀」の方法が欠けていると思います。

0 投票する
4 に答える
162347 参照

git - プロジェクトの最初のコミットをGitで変更しますか?

プロジェクトの最初のコミットで、後続のすべてのコミットを失うことなく、何かを変更したいと思います。これを行う方法はありますか?

生のメールを誤ってソースコード内のコメントに記載しましたが、GitHubのインデックスを作成しているボットからスパムが送信されているため、変更したいと思います。

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

git - Git:リベース後にSVNブランチにコミットする方法は?

SVN ブランチに問題があります。でチェックアウトしましたgit checkout -t -b stable svn/stable。次に、とマージしましたgit rebase master。その後、マージの変更をリモートブランチにコミットしようとしましたgit svn dcommit

しかし今では、Git が変更をブランチではなくトランクにプッシュしたようです :(

そしてgit status私に言います:

誰かが私が間違っていたことと、それを正しく行う方法を知っていますか?

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

git - リベースなしでGITでコミット履歴をやり直す

GIT を使用したリベースに関することが判明した最後の質問をして以来、私はまったくリベースしたくないと決めました。代わりに、私はしたい:

  1. ブランチ
  2. 仕事仕事仕事、チェックインとプッシュ常に
  3. それらのコミットをすべて破棄し、何も起こらなかったふりをします (つまり、作業の最後に 1 つのクリーンなコミットを行います)。

現在これを行うには、ファイルを新しいディレクトリにコピーしてから、それらを新しいブランチ (作業ブランチと同じポイントで分岐) にコピーして戻し、それをmasterどこかにマージします。

これは単なる悪いことで、その理由は何ですか? もっと重要:これを行うためのより良い/ GITの方法はありますか? git rebase -i強制的にマージ(および選択、およびスカッシュ)します。