[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
質問
からの新しいブランチ
master
が作成されるので、それを
test
.
にコミットする開発者が何人かいる。
master
にマージするか、他のブランチを作成し、後で
master
.
に取り組むとします。
test
が数日かかるので、継続的に
test
内のコミットで更新されます。
master
.
私なら
git pull origin master
から
test
.
質問1: このやり方は正しいのでしょうか? 他の開発者は、私が作業したのと同じファイルを簡単に作業することができたはずです。
私の作業内容
test
にマージする準備が整いました。
master
. 以下は、私が思いつく2つの方法です。
A:
git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test
B:
git checkout test
git pull origin master
git checkout master
git merge test
を使用していません。
--rebase
なぜなら、私の理解では、rebase は変更点を
master
の上に私のものを積み重ねるので、他の人が行った変更を上書きする可能性があります。
質問2. この2つの方法のうち、どちらが正しいのでしょうか? その違いは何でしょうか?
このすべてにおいての目標は、私の
test
ブランチを更新し
master
にマージし、後で
master
できるだけ直線的なタイムラインを保てるように。
解決方法は?
私ならこうする
git checkout master
git pull origin master
git merge test
git push origin master
リモートのブランチからローカルのブランチを持っている場合、このブランチ以外のブランチをリモートにマージするのは気が進みません。また、プッシュしたい内容に納得がいくまでは、自分の変更をプッシュしませんし、自分と自分のローカルリポジトリだけのためにプッシュするようなこともしません。あなたの説明では、以下のように思われます。
test
は、あなただけのものですか?だから、それを公開する理由はない。
git は常にあなたと他の人の変更を尊重しようとします。
--rebase
. 適切な説明ができないと思うので、以下をご覧ください。
Git book - リベース
または
git-ready。リベース入門
をご覧ください。これは非常にクールな機能です。
関連
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] Gitによるhotfixブランチのfeatureブランチへのマージ
-
[解決済み】"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が「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
git revert 複数コミット
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] git status に fatal: bad object HEAD と表示される。
-
[解決済み] ssh-keygen' は内部コマンドまたは外部コマンドとして認識されません。
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] Gitによるhotfixブランチのfeatureブランチへのマージ
-
[解決済み] merge --squashとrebaseの違いは何ですか?