問題タブ [git-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 投票する
2 に答える
1222 参照

git - 大きなリファクタリング後の git rebase

master と featureA の 2 つのブランチがあります。featureA ブランチでは、 CoolFile.m に一連の新しいコードを書きました。この機能は完成していないため、このコードはまだマスターにマージする準備ができていません。CoolFile は過去に非常に貧弱に記述されていたので、develop ブランチで一連の変更をコミットしました (ほとんどの場合、メソッドの並べ替え、コメントの追加、および空白の削除)。

ここで、クリーンアップされたコードの恩恵を受けることができるように、master から featureA をリベースします。問題は、すべてのメソッドが移動したため、リベースがすべての新しいコードを間違った場所に配置しようとしていることです。これを修正する最善の方法は何ですか? 機能のリファクタリングが完了するまで待つべきでしたか?

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

git - リベース後に別の上流から分岐したブランチ

プロジェクトをフォークしました。また、元のリポジトリを指すハンドル「upstream」と、フォークされたリポジトリを指す起点も追加しました。数日後、アップストリームからコンテンツを取得してリベースしようとしました。リベース後、分岐分岐メッセージが表示されます。私が使用したコマンドは次のとおりです。

これはどのような場合に発生しますか、それともここで何か間違ったことをしていますか?

psこれらのコマンドを実行している間、私はローカルマスターブランチにいました。変更やコミットを行っていないので、pull コマンドを使用できたと思います。

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

git - git rebase がマージコミットを強制終了しないようにするには?

git以下の歴史を考えると:

masterローカルブランチを の上にリベースしorigin/masterたいが、マージ コミットは保持したいGgit rebase origin/master単純にちょっとやってみたらのコミットメッセージでmasterつぶれD..EGコミットしてEしまったので、マージした履歴が消えてしまいました。リベースを取得しながら、このマージを保持する方法はありますか? 明確にするために、私の意図した結果は次のとおりです。

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

git - 以前の git マージ後の git rebase

次のような状況があります。

  • (Y) をメイン リポジトリ (X) から作成しましたclone。Y に取り組んでいる人が多かったため、何もしませんでしたが、srebaseだけでしたmergepush( ) Y を Xに配達したいときはrebase、物事を素晴らしくきれいにするためにa を実行したいと考えています。

問題は、実行時に、前の手順rebaseで既に行ったすべてのマージを行うように求められることです。merge実際にマージをやり直すことを意味するもののほかに、これに対する解決策はありますか?

競合するマージは既に解決しているので、かなり簡単だと思っていました。

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

git - 「git fetch」と「git rebase」、「git pull --rebase」の違いは何ですか?

ページを読むと、次のgit pullような厳しい警告が表示されますgit pull --rebase

これは潜在的に危険な操作モードです。歴史を書き換えますが、その歴史をすでに公開しているとはうまくいきません。git-rebase(1) を注意深く読んでいない限り、このオプションを使用しないでください。

このgit rebaseページでは、多くの説明が表示されますが、この種の警告はありません。

さらに、私は何人かの人々がそう言っているのを見てきました

と同じです

他の人は少し違うと言いますが。

真実は何ですか?

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

git - Git: 生成されたコードの最初のコミットを行うのを忘れていました。これはリベースの仕事ですか?

小さな Rails 3 アプリをまとめて、私が取り組んでいるライブラリでどのように使用できるかを示しました。実行後rails new、Gemfile、config、およびいくつかのクラスにいくつかの変更を加えました。次に、git にコミットしました。

私がすべきだったのは、最初に生成された構造をコミットしてから変更をコミットして、このライブラリの最小限のセットアップの良い差分を取得できるようにすることでした。

これをすべて再設定するすべての手順を実行する前に (おそらく 30 分程度ですが、エラーが発生する可能性があります)、別rails newの を実行してコミットし、既存のコミットをその上にリベースして、以前に行った変更だけでコミットしますか (つまり、rails new生成された構造を差し引いたもの)?

git がどのように正しく機能するかを理解していれば、これは実行可能に思えますが、git のコマンドの使い方を知っているかどうかはわかりません。

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

git - Git機能ブランチワークフロー

プロジェクトに貢献しようとしていますが、作業内容にgit-flowワークフロー(?)を使用したいと思います。developたとえば、リモートリポジトリ(github)のブランチをチェックアウトし、 2つの機能ブランチ(翻訳の場合はT、更新の場合はU)を設定しました。

これで、ブランチごとに、リポジトリメンテナにプルリクエストが行われ、upstreamリポジトリメンテナはそれらをすべて受け入れて、upstream/developブランチにマージします。

私が最終的にするための正しい手順は何ですか?

それが私に必要なことだと何かが教えてくれgit rebaseます。(私はWindowsを使用していることに注意してください)。

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

windows - リベースを行う方法--WindowsGUIでインタラクティブ

私には、Windows用のgitGUIインターフェースに夢中になっている同僚がいます。彼がコミットを押しつぶすことができるように、彼にインタラクティブにリベースしてもらいたいと思います。

を使用しTools->Addて追加しようとしましgit rebase --interactiveたが、彼が試してみるとこれがハングします。クライアントはインタラクティブなリベースを処理できますか?できるWindows用の別のGUIクライアントはありますか?または、クライアントでコミットを潰す別の方法がありますか?

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

git - EmacsはGit-Rebaseでバッファを奇妙な前の状態に戻します

OS XでEmacs(23.3.1)を使用しています。EmacsのVC機能を使用せずに、ターミナルからgitコマンドを発行しています。ファイルが変更されたときに更新するようにEmacsを設定しています。これは、.emacsファイルの次の行で有効になっています。

これはいつも私が期待したように機能しました。プルすると、Emacsバッファーは、バッファーを終了してそれぞれを新たにロードしたかのように、マージまたは競合で更新されます。

最近、(git-pullを使用して)単にプルするのではなく、リベース(git-fetchを呼び出してからgit-rebaseを呼び出す)を開始しました。問題が実際にgit-rebaseに関係しているかどうかはわかりませんが、確かにそうではありませんでした。その前に問題に気づき、今すぐ実行してください。

だからここに問題があります:私はファイルを更新し、変更をコミットしgit commit -am "..."、実行しgit fetch origin、そして実行しますgit rebase origin/master(時にはインタラクティブモードでコミットを一緒に押しつぶします)。リモートアップデートを取得したので、ファイルをもう少し編集してみると、最近の変更がすべて失われたように見えます。それが最初に起こったとき、私は非常に怒って、ファイルが完全に無傷であり、Emacsが変更前のファイルのバージョンに何らかの形で戻っただけであることに気付くまで、変更を失ったためにリベースアルゴリズムを呪いましたコミットしたばかりです。バッファを閉じてファイルを再度ロードすることでいつでも問題を解決できますが、これは毎回行うのが非常に面倒です。

誰かが問題が何であるかを知っていますか?