[解決済み] masterからdevelopmentブランチに "git pull "する方法
質問
開発中の "dmgr2" というブランチがありますが、master ブランチ(ライブサイト)からプルして、すべての変更を開発ブランチに取り込みたいと思っています。これを行うための良い方法はありますか?
以下は、変更をコミットした後に私が計画していたことです。
git checkout dmgr2
git pull origin master
これは、開発ブランチにライブの変更を取り込むことです。
解決方法は?
しかし、より多くのオプションを提供する、より長い方法があります。
git checkout dmgr2 # gets you "on branch dmgr2"
git fetch origin # gets you up to date with origin
git merge origin/master
は
fetch
コマンドの前の任意の時点で行うことができます。
merge
つまり、フェッチとチェックアウトの順番を入れ替えることができるのです。
fetch
は名前付きリモートに移動するだけです (
origin
つまり、すべてのブランチでのすべてのコミットです。 これらはあなたのリポジトリにコピーされますが、名前は
origin/branch
という名前のブランチに対して
branch
をリモートで実行します。
この時点で、任意のビューア(
git log
,
gitk
など)を使って、相手が持っていて自分が持っていないものを見たり、その逆をしたりします。 時には、これはウォーム・ファジー・フィーリングにのみ有効であり("ああ、そうだ、それは実際に私が欲しいものだ")、時には完全に戦略を変えるのに有効です("おっ、私はまだそのものを望んでいないよ")。
最後に
merge
コマンドは与えられたコミットを受け取ります。
origin/master
を実行したときのブランチに、そのコミットとその先祖を取り込むために必要なことを何でもします。
merge
. を挿入することができます。
--no-ff
または
--ff-only
を使用して早送りを防ぐか、または結果が早送りの場合のみマージを行います。
シーケンスを使用する場合。
git checkout dmgr2
git pull origin master
その
pull
コマンドは、gitに対して
git fetch
に相当し、その後、道徳的に
git merge origin/master
. つまり、これは
ほとんど
は、この2つのステップを手で行うのと同じですが、おそらくあなたにとってあまり気にならない微妙な違いがいくつかあります。 (特に
fetch
で実行されるステップは
pull
持ち越し
だけ
origin/master
を実行しても、あなたのレポの参照は更新されません。
1
によってのみ参照されるようになります。
FETCH_HEAD
参照)。
もし、より明示的な
git fetch origin
(その後オプションで見回る)、そして
git merge origin/master
のシーケンスを使用すると、自分のローカルな
master
を1回実行するだけで、リモートの最新の状態にすることができます。
fetch
をネットワーク上で実行します。
git fetch origin
git checkout master
git merge --ff-only origin/master
git checkout dmgr2
git merge --no-ff origin/master
といった具合に。
1 git 1.8.4 では、この二番目の部分が変更され、つまり "fixed"- となり、 "remote branch" への参照が臨機応変に更新されるようになりました。 (リリースノートによると、更新をスキップするのは意図的な設計上の決定だったのですが、git が更新するのを好む人が多いことが判明しました。 古いリモートブランチの SHA-1 が必要な場合は、デフォルトで reflog に保存され、そこから復元できるようになっています。 これは、上流のリベースを見つけるための新しい git 1.9/2.0 機能も有効にします)。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した