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

git - gitリベースを元に戻す

gitリベースを簡単に元に戻す方法を知っている人はいますか?

頭に浮かぶ唯一の方法は、手動でそれを行うことです。

  • git checkoutは、両方のブランチの親をコミットします
  • 次に、そこから一時ブランチを作成します
  • チェリーピックすべてのコミットを手作業で
  • リベースしたブランチを手動で作成したブランチに置き換えます

私の現在の状況では、両方のブランチからのコミットを簡単に見つけることができるので、これはうまくいくでしょう(1つは私のもので、もう1つは私の同僚のものでした)。

しかし、私のアプローチは、最適ではなく、エラーが発生しやすいと思います(たとえば、自分のブランチを2つ使用してリベースしたとしましょう)。

何か案は?

明確化:私は、コミットの束が再生されたリベースについて話している。1つだけではありません。

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

git - git svn dcommit がローカル ブランチのマージ コミットの履歴を失うのはなぜですか?

で作成されたローカル git リポジトリがありgit svn cloneます。ローカル ブランチを作成し、いくつかの変更を加え、マスターに切り替えます。問題がgit svn rebaseなければ、ブランチをマスターにマージします。次に、ツリーは次のようになります。

代替テキスト http://img.skitch.com/20090108-cjguu3hcci9x2k17mcftamw8f1.jpg

ときどき、後でgit svn rebaseもう一度リモートの変更を取得すると、a_branch がメインラインにマージされ、ツリーが次のようになるという事実が失われます。

代替テキスト http://img.skitch.com/20090108-kn3bn1qgi5ijw8ja5ijkd75pa3.jpg

何故ですか?止めてもいいですか?ブランチがマージされたことを簡単に確認する方法はありますか? または、完了したらブランチを削除して、マージされたものとマージされていないものを忘れないようにする必要がありますか?

0 投票する
8 に答える
47788 参照

git - Git リポジトリの最初の 2 つのコミットを結合しますか?

A、BCの 3 つのコミットを含む履歴があるとします。

2 つのコミットABを 1 つのコミットABに結合したいと思います。

私は試した

これにより、次の内容でエディターが開きます。

これを次のように変更します

次に、Git 1.6.0.4 は次のように述べています。

方法はありますか、それとも不可能ですか?

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

git - gitrebaseとgitpush:早送りではないのに、なぜ使用するのですか?

他の寄稿者が利用できるようにし、マスターと常に最新の状態に保つ必要があるブランチがあります。

残念ながら、「git rebase」を実行してからプッシュしようとすると、「非早送り」メッセージが表示され、プッシュが中止されます。ここでプッシュする唯一の方法は、-forceを使用することです。それは、私のブランチが公開され、他の人がそれに取り組んでいる場合、リベースする代わりに「gitmerge」を使用する必要があることを意味しますか?

0 投票する
9 に答える
178689 参照

git - Git で最初の 2 つのコミットをスカッシュしますか?

を使用git rebase --interactive <commit>すると、任意の数のコミットを 1 つのコミットにまとめることができます。

コミットを最初のコミットに押しつぶしたくない場合を除き、これで問題ありません。それは不可能に思えます。

それを達成する方法はありますか?


適度に関連する:

関連する質問で、私は最初のコミットに対して押しつぶす必要がある別のアプローチを考え出すことができました。

興味がある場合: git: 最初にコミットを挿入し、他のすべてをシフトする方法は?

0 投票する
15 に答える
61796 参照

git - Gitでルートコミットの前にコミットを挿入しますか?

以前、git リポジトリで最初の 2 つのコミットをつぶす方法について質問したことがあります。

解決策はかなり興味深いものであり、git の他のいくつかのものほど気が遠くなるようなものではありませんが、プロジェクトの開発中に手順を何度も繰り返す必要がある場合は、まだ少し厄介です。

したがって、私は一度だけ苦労して、標準のインタラクティブなリベースを永遠に使用できるようにしたいと考えています。

したがって、私がやりたいことは、最初のコミットのみを目的として存在する空の初期コミットを作成することです。コードも何もありません。リベースのベースになるようにスペースを占有するだけです。

私の質問は、既存のリポジトリがある場合、最初のコミットの前に新しい空のコミットを挿入し、他のすべての人を前に移動するにはどうすればよいですか?

0 投票する
0 に答える
536 参照

version-control - Starteam vcmutility を使用して選択的リベースを自動化する方法は?

Borland Starteam では、ファイルをピン留めするだけの非常に単純なリベースを自動化したいと考えています (つまり、他のすべてを無視します - ウィザードで行うことを前提としています)。

StarTeam ヘルプの「VCMUtility セッション オプション」を参照して、すべてを無視するように DefaultAction を設定したいと考えています。すべてをオーバーライドする明白な方法はわかりません (これはすべての組み合わせをリストすることの結合であるため、オプションではありません)。

設定ファイルの例はありますか? または、StarTeam でこれを行った経験はありますか?

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

dll - リベース - 優先ベースで odbcint.dll をロードできません

.exe組み込みの Visual Studioのデフォルトのベース アドレスは 0x00400000 です。

d3dx9_30.dllodbcint.dll(どちらも に存在する)のデフォルトのベース アドレス%windir%\system32も 0x00400000 です。したがって、デフォルトでexeは、これらの dll のいずれかにリンクする s は、実行時アドレスの衝突を起こします。OS は自動的にdll別のベース アドレスに再配置し、必要に応じてポインターを修正します。VS デバッガーを接続すると、これが発生することがわかります。再配置されたモジュールには感嘆符のオーバーレイが表示されます。

システム DLL のリベースは、ユーザー システムで行うのがほぼ不可能であることは言うまでもなく、非常に悪い考えです。exeそのため、このアドレスの衝突を防ぎ、実行時のリベースを防ぐために、s をリベースすることにしました。

クライアント EXE を別のベース アドレスに変更してd3dx9_30.dllの邪魔にならないようにすると、正常に動作します。アドレスの競合、再配置、フィックスアップはありません。

しかし、サーバーの EXE を別のベース アドレスに変更して、サーバーodbcint.dllの邪魔にならないようにすると、機能しません。

odbcint.dllメモリ内の 0x17000 バイトであり、ベース アドレス 0x00400000 を優先します。EXE を 0x00420000、次に 0x00660000 に設定しようとしました。まだodbcint.dll実行時に再配置されます。でプロファイリングしたところ、ロードdepends.exe前にこのアドレスを要求しようとしているモジュールが他にないことが示されました。odbcint.dll

odbcint.dll優先アドレスでロードできない理由を説明する理論を誰かが持っていますか?

Update: vadump は、main() に入るまでに、0x00400000 ~ 0x00470000 のメモリが「UNKNOWN_MAPPED」として要求されていることを示しています。これが正確に何を意味するのかについて、これ以上の情報を見つけることができませんでした。一部のシステム dll がロード時にこのメモリを予約していると思われます。私の debug-fu は、どれが、なぜ、またはいつ正確に発見できるほど強力ではありません。

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

git - format-patch はかなりうまく機能し、より良い方法を探しています

リベースが機能しないように見えるほど異なる 2 つのブランチがあります。または、リベースの方法がわかりません。

一連のファイルが削除された「パブリック」ブランチがあります(フィルターブランチを使用)。ほとんどのコミットはデルタに関して一致しますが、コミット ID はすべて異なります。dev ブランチから public ブランチに変更をプルするために、かなりの数の方法を試しました...自分のやりたいことができるとは信じがたいですが、方法がわからないだけだと思いますやれ。いずれにせよ、これはうまく機能しますが、間違っているようです。

パブリック ブランチで不要なファイルをフィルターで分岐しないことを含むヒントや提案を歓迎します (ただし、それらを削除するにはどうすればよいでしょうか?)。

私のツリーは多かれ少なかれ次のように見えます:

t ≅ a、u ≅ c、v ≅ d、w ≅ e、x ≅ g。i、j、k は、移行したい新しいパッチです。