[解決済み] Git リモートマスターによるローカルブランチの更新
2022-03-07 16:50:31
質問
この方法には2つの可能性があると思います。
-
ローカルブランチをリモートマスターからの変更に置き換えます。
-
Gitlabのワークフローに従って、マージリクエストを作成し、masterブランチからの変更をmasterの最新版に更新したいブランチにマージします。
この2つのアプローチのメリットとデメリットは何でしょうか?私はどちらかというと、最初のアプローチに傾いています。皆さんはどう思われますか?
どのように解決するのか?
簡単な答え(もっと複雑な答えもたくさんありますが)は、単にマージすることです。
git checkout master
git pull
git checkout <your-branch>
git merge master
(これは事実上、選択肢2で説明したのと同じです)
設定によっては、これらすべての手順が必要ない場合もあります(ただし、すべてやっても損はしません)。各コマンドを読んで、自分に合った正確なワークフローを見つけることをお勧めします。
おそらく新しいコミットが作成され、マージであることを明確にするコメントが添えられます。
もうひとつの方法は、もう少し高度な方法ですが、次のようにします。
rebase
の代わりに
merge
これは、自分のブランチが master から分岐した時点まで時間を巻き戻し、master での変更を取り込んで自分のブランチを master と同じ状態にし、最後に自分のコミットを反映させるというものです。この方法の利点は、履歴がよりシンプルになることです。マージした時点でふたつのブランチが結合するのではなく、自分のブランチの変更を最後に加えた一直線の変更履歴が得られるのです。
そのためには、次のようにします。
git checkout <your-branch>
git rebase master
もしあなたがgitに慣れていないのなら、間違いなくmergeを使い、自信がついたらrebaseに戻ることをお勧めします。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】ローカルの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, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない