GitではmasterとmyFeatureBranchの2つのブランチがあります。 myFeatureBranchを作成してから、他のチームメンバーがマスターにいくつかの変更を加えました。私はこれらの変化をもたらしたいと思います。私は葛藤を併合することを認識しています。「Rebaseでチェックアウト」を実行し、Intellij IDEAでマージしたファイルをプッシュする適切な方法は何ですか?
これに対処する方法についての私の一般的な考え方は次のとおりです。
- 私はどのマージを扱う
- マスターからコミットの全てを取得し、私のブランチに適用します、私はすべてプッシュする
- を競合リモートブランチへマージされたファイルを含めて、これらの変更、の
- は重複が私のリモートブランチにコミットしていないがあります
Intellij IDEA 2016 added some new features(Rebaseを使用したCheckoutを含む)。彼らの発表から:チェックアウトした後、リベース:あなたは2つの操作を行うときに、余分なファイル同期とコンパイルにあなたの時間を無駄にしたくない場合は
リベースアクションとチェックアウトが有用です。
私が欲しいもののようなものです。私はすでにマスター上にいるので、IDEAウィンドウの右下にあるブランチセレクタをクリックします。自分のローカルブランチに移動し、 "Rebaseでチェックアウト"を選択します。
はこれをやった後、私は、マージの競合について聞いています。私は "マージ"ボタンを選択し、それらを手動で解決します。
私は、私は私のリベースが成功した確認を得ることを実行した後:
をノー保留中の変更はありません。
すべてがそれが働いたように見えます。今では、マージされたクラスを含むすべてのものをリモートブランチにプッシュしたいと思います。そこで私はメニューバーに行き、VCS - > Git - > Pushを選びます。私はそれを行うときには、私は私のプッシュが拒否されたことを、私は合併すべきであるというエラーが出ます:
私はアドバイスに従うと、「マージ」を選択することにしました。しかし、これは私をマージ競合に戻しました。
私はこれを通過し、再びそれをプッシュしようとすると、それが成功しているが、私は、マージの2つのコピーをする羽目になる。
この「Rebaseでチェックアウト」をしてから、マージしたファイルをプッシュすると、私は何が間違っていますか?
また、私は端末からこれをしたくありません。それは一部の開発者にとっては簡単かもしれませんが、私はIDEAのGUIを通してこれを完全に行う方法を学びたいと思います(QAや開発者ほど技術的ではないユーザーがいて、コマンドライン、私はそれらのための最善の方法を知りたい)。
あなたは 'gitの' gitのは--hard'あなた 'myFeatureBranch'をリセットして変更をstash'し、再びそれを実行しよう場合は、何を得るのですか? –
@GrzegorzGórkiewiczどのような時点で、私はそれを試してほしいですか?そして、これは私がコマンドラインからやらなければならないことですか?私が最後に言ったように、Intellij IDEAのGUIからこの全プロセスをどうやってやるのかを学びたいですが、コマンドラインのものが何をすべきかを把握するのに役立ちます。 – Thunderforge
問題が発生する前の出発点です。しかし、とにかくそれはコマンドラインを利用し、あなたがそれを望んでいない、なぜなら何人かの人々は "技術的ではない"ためです;> –