タグ付けされた質問 「git-rebase」

git-rebaseコマンドを使用すると、1つのブランチから変更を取得し、別のブランチの上でそれらを再生できます。

30
Gitのブランチからコミットを削除する
コミットを削除する方法を教えてください。 ことでdelete、私はそれがコミットしなかった、と私は将来的にプッシュを行うときに、私の変更は、リモートブランチにプッシュしないであろうかのように、それはある意味。 私はgit helpを読んで、私が使用すべきコマンドはだと思いますgit reset --hard HEAD。これは正しいです?
3233 git  git-rebase  git-reset 

17
git rebaseを元に戻す
どうすれば簡単に git rebaseを元に戻すことができますか? 私の現在のアイデアは手動のアプローチのみです: git checkout 両方のブランチの親のコミット そこから一時ブランチを作成します git cherry-pick すべて手動でコミット リベースしたブランチを手動で作成したブランチに置き換える 私の現在の状況では、両方のブランチからのコミットを簡単に見つけることができるため、これでうまくいきます(1つは私のもので、もう1つは私の同僚のものです)。 しかし、私のアプローチは次善でエラーが発生しやすいと思います(自分の2つのブランチでリベースしたとしましょう)。 明確化:一連のコミットがリプレイされたリベースについて話している。1つだけではありません。
3179 git  rebase  git-rebase  undo 


11
Gitワークフローとリベースとマージの質問
私はもう1人の開発者とプロジェクトで数か月Gitを使用しています。私はSVNで数年の経験があるので、私は関係に多くの荷物を持っていると思います。 Gitはブランチやマージに最適であると聞いたことがありますが、今のところ見られません。もちろん、分岐は非常に単純ですが、私がマージしようとすると、すべてが地獄に行きます。今はSVNに慣れていますが、サブバージョン管理システムを別のシステムと交換したようです。 私のパートナーは、私の問題は意気揚々とマージしたいという私の欲求から生じていると私に言います、そして私は多くの状況でマージの代わりにリベースを使用すべきであると言います。たとえば、以下は彼が定めたワークフローです。 clone the remote repository git checkout -b my_new_feature ..work and commit some stuff git rebase master ..work and commit some stuff git rebase master ..finish the feature git checkout master git merge my_new_feature 基本的に、機能ブランチを作成し、常にマスターからブランチにリベースし、ブランチからマスターにマージします。ブランチは常にローカルに留まることに注意してください。 これが私が始めたワークフローです clone remote repository create my_new_feature branch on remote repository git checkout -b …

7
ローカルブランチをリモートマスターでリベースする方法
リモートリポジトリのマスターブランチからクローンプロジェクトを作成していますremote_repo。新しいブランチを作成し、そのブランチにコミットします。他のプログラマーremote_repoはmasterブランチにプッシュしました。 次に、ブランチRBをremote_repoマスターにリベースする必要があります。 これを行う方法?端末に入力するコマンドは何ですか?
934 git  clone  git-rebase 

12
複数のコミットを選択する方法
私は2つの支店を持っています。コミットa他が持っている一方で、1のヘッドであるb、c、d、eとfの上にa。私が移動したいc、d、eおよびfコミットせずに最初の分岐にb。チェリーピックを使用するのは簡単です。最初のブランチを1つずつチェリーピックでチェックアウトcしf、2番目のブランチを最初にリベースします。しかし、チェリー選ぶすべてにどのような方法がありますc- f1つのコマンドで? 以下は、シナリオの視覚的な説明です(JJDに感謝)。

18
Gitリポジトリのコミット履歴から大きなファイルを削除/削除する方法は?
たまに、DVDリッピングをWebサイトのプロジェクトに落とし込んだ後、不注意に落としgit commit -a -m ...たり、ザップをしたりして、リポジトリが2.2ギグ膨らみました。次回、編集、ビデオファイルの削除、すべてのコミットを行いましたが、圧縮ファイルはリポジトリの履歴に残っています。 私はそれらのコミットからブランチを開始し、あるブランチを別のブランチにリベースできることを知っています。しかし、大きなファイルが履歴に表示されず、ガベージコレクション手順でクリーンアップされるように、2つのコミットをマージするにはどうすればよいですか?




2
gitの「rebase --preserve-merges」は正確には何をするのですか(なぜですか?)
コマンドに関するrebase Gitのドキュメントは非常に簡潔です。 --preserve-merges Instead of ignoring merges, try to recreate them. This uses the --interactive machinery internally, but combining it with the --interactive option explicitly is generally not a good idea unless you know what you are doing (see BUGS below). では、実際に使用すると--preserve-mergesどうなりますか?デフォルトの動作(そのフラグなし)とどう違うのですか?マージなどを「再作成」するとはどういう意味ですか。
355 git  git-rebase 


2
競合するGitリベースの最中に「彼ら」の変更を取得するにはどうすればよいですか?
競合するブランチがあり、branch2はbranch1から分岐しています。 リベースしてみましょうと言うbranch2現在では、branch1競合を解決しながら、私が取ることにしたいくつかの「自分」(すなわちの(すべてではない)branch1として-である)ファイルを。それ、どうやったら出来るの? 私は試した: git checkout branch1:foo/bar.java fatal: reference is not a tree: TS-modules-tmp:foo/bar.java git checkout refs/heads/branch1:foo/bar.java fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java
349 git  rebase  git-rebase 

30
git rebase:「エラー: 'ファイル'を統計できません:権限が拒否されました」
私はgitを使用していて、小さなコミットを作成してから大きなコミットを作成しました。を使用git rebaseして、2つのコミットをプッシュする前に一緒に押しつぶすことにしました。(私はこれを以前にやったことがありません。) だから私はしました: git rebase -i HEAD~2 これにより、編集者に、以前のコミットを選択し、後のコミットをスカッシュすることを選択しました。私が保存したとき、gitは言った: エラー: ' filename 'を統計できません:権限が拒否されました 後でコミットするためにsha1を適用できませんでした... そのコミットの最初のテキスト行 今: どちらのコミットも表示されませんgit log。 git status 「現在、どのブランチにもいません」と私に伝えます。 1つのファイルは変更済みとしてインデックスにリストされ、2つのファイルは追跡されていないものとしてリストされます。私の最初のコミットには1つのファイルしかなかったと思いますが(2つ目)、2番目のコミットには十分な数のファイルがありました。 どうした!?どうすれば修正できますか?
342 git  git-rebase 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.