2017-04-25 8 views
0

私はブランチ(開発者)をマスターにしていますが、このブランチで作業していました。私は今、マスターの後ろに2コミットですが、私のブランチでは10コミット先です。マスターが変更されたときにGitのブランチをマージする方法 - GitHubでプルリクエストを発行する必要があります

2つのコミットは、関連するコードに変更を加えたため、実際には私とは無関係です。そのため、私のブランチは最新のものです。

私の(開発者)ブランチをマージするためにGitHubでプルリクエストを発行する必要がありますが、そのままブランチがGitHubで競合するので、私のブランチを整理するきれいな方法を探しています。 GitHubでプルリクエストを発行できますが、競合はありません。

Gitの専門家は、私に何かアドバイスをお願いします。

+0

'git fetch; git rebase origin/master'となります。競合を解決して、変更がマスターの現在の状態に適用され、マージされるようにします。 –

答えて

0

開発枝に、競合(もしあれば)を修正し、git pull origin masterを試しながら開発ブランチに変更をコミットしてプッシュします。

:すでに指摘されているとして、あなたもあなたのブランチがなるように、それはそれはリモートブランチの現在位置の上に開発された「ように見える」「リベース」でした(引っ張って)合併のほかに

+0

アレックスありがとう! – Smitthhy

0

git fetch <remote-repo> git rebase <remote-repo>/master

+0

アドバイスをいただきありがとうございます。私のリモコンがGitHubのマスターであり、私のローカル支店がGitHubから引き出されたマスターから分岐した開発者であることを明確にするために、あなたはコマンドを明示することができますか?どうしたの?私。私はこれらのコマンドをいつ起動するのですか? – Smitthhy

+0

事は、リモートが_any_名を持つことができるということです。あなたが複製した場合(github repoのように)、それは起源ですが、必須ではありません。空のリポジトリをローカルに作成してからgithubリモートを追加した場合は、任意の名前を付けることができます。あなたのgithubリモートが 'origin'と呼ばれている場合は、(あなたのローカルブランチをチェックアウトして、元の/ masterにあるものを '更新'したいと思っています): '' git fetch origin; git rebase origin/master'' – eftshift0

+0

GitHubからリポジトリをクローンしました。git remote -vは私がgit checkout -bを使ってブランチを作成し、それを使って作業しました。他の人はGitHubのマスターで働いていたので、起源を取得した場合、私は開発拠点にいると仮定しています。 git rebase origin/masterこれは、私の開発者コミットを(他の開発者が行った)最新のマスターコミットの最後に追加し、私はgit commit -am "Commit message"を使って私のブランチをプッシュする準備をしますGitHubまで、プルリクエストを発行します。 - ありがとうございました – Smitthhy

0

git cherry-pick機能があります。コミットIDを使用して、ブランチの他のブランチでコミットをコミットすることができます。詳細については

What does cherry-picking a commit with git mean?

+0

ありがとう、私はそれを見ます、私はGitに慣れ親しんで、SVNでずっと長く立ち往生している必要があります。 – Smitthhy

+0

cherry-pickはバージョン管理のスイスアーミーナイフです(svnにも存在し、merge -cオプション付きです)。 git-rebase(それ自体の中でも非常に強力なツールです)は、実際にはそれに基づいています。 – eftshift0

関連する問題