magitを使用したマスターからの単純なリベース?


11

何年もの間古いバージョンを使用していたので、最新バージョンのMagitにアップグレードしました。少し調べて違いを理解すると、すべての改善が素晴らしいものになります。

今、私は最も単純な(非インタラクティブ)リベースを実行しようとしているだけでmagit、それを行う方法を理解できません。この例はhttps://git-scm.com/docs/git-rebaseからのものです。

git checkout topic
git rebase master
  1. ヒット r
  2. 私のトピックブランチは、マスターからの最新の変更でリベースされています。

3
「elsewhere」を選択し(「e」を押す)、そこから「master」を選択します。あなたのブランチ「のトピックを」リベースされます。念のため(ないマスターから)。オンは、Gitが「マスター」と「トピック」の最も若い共通の祖先を探し、「トピック」のコミットに取り組み、「マスター」の変更に適用することを意味します。結局、「マスター」は変更されませんが、「トピック」には「マスター」からの変更が組み込まれます(私はエラーを防ぐためにこれを書いています。つまり、マスターからリベースすると逆になると考えた場合)。
wvxvw 2016年

2
ブランチのアップストリームを設定した場合、タイプbしてからu繰り返して既知のオプションを循環させることができます(origin/master一般的ですr u)。これが(を介して)に基づいてリベースするデフォルトオプションになります。
phils 2016年


コメントありがとうございます。それは私にとってそれを明らかにしました。MagitのRebasingページを読みましたが、以前は意味がありませんでした。「onto」という言葉が問題だったと思います。私は現在「r」、「e」を使用してマスターからの最新のものをマージしていますが、アップストリームを「b」、「u」で設定する方法を知っていることも役に立ちました。
Andrew Goodnough 2016年

@wvxvwそのコメントを回答に変えていただけませんか?
tarsius

回答:


16
  1. プレスr (リベース) Magitステータスバッファインチ これにより、より多くのオプションを備えたポップアップバッファが表示されます。
  2. e (別の場所で)を押して、別のブランチでリベースを開始します。
  3. プロンプトに答えて、リベースするブランチを選択します(注:選択したブランチは変更されていません現在のブランチは変更されています
  4. リベースプロセスが開始し、リベースメニューのオプションが増えます:r続行する(競合を解決した後)a中止する(リベースプロセス全体がリベース前に巻き戻される)sスキップする(Gitが混乱する場合など) 、コミットによって変更が導入されていないように見える場合。これは、現在のブランチとターゲットブランチの両方に同じ変更が追加されたときに発生する可能性があります)
  5. コミットは、ターゲットブランチのコミットに適用されます。それらがスムーズに適用されない場合、Magitステータスバッファーに進行状況と競合が表示されます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.