1

私はかなり長い間githubを使用してきました。現在、プロジェクトに複数のブランチがあり、同時にいくつかのブランチにも取り組んでいます。ブランチごとに専用のフォルダーがあり、それぞれのブランチにコミットしてプッシュします。マスターに変更を加える前にブランチを作成したため、ブランチの 1 つをマスターに変更を加えて更新する必要がある状況になりました。コミットを行う前に、「遊び場」レポを作成し、それで遊んでいました。これは、マスターからブランチへの変更をマージするために私が従う方法です。この方法が正しいかどうか、および他に何かを行う必要があるかどうかについて、すべての意見をお聞きしたいと思います。もちろん、私は SO を使用してこの方法を考え出しましたが、答えは複数の質問にわたって断片的でした。

ちなみに、情報を探しているうちに、ブランチ用に個別のフォルダーを作成する必要がなく、1 つのフォルダーを使用できることがわかりました。しかし、私はこのアプローチの方が好きです - 別のフォルダを維持します。

これが私がすることです:

# make some changes to master and commit it

git add .
git commit -m 'at last!'
git push -u origin master

# cd to the branch

git pull

git merge origin/master

# now commit to branch

git add .

git commit -m 'updates from master'

git push -u origin playground-0.1

私が正しいアプローチに従っているかどうか教えてください。どうもありがとう!

4

1 に答える 1

1

特に異なるブランチで同時に作業する必要がある場合は、複数のフォルダーで問題ありません。

あなたのマージ ( git pull) は正しいようです。
もう 1 つのアプローチはリベースです。「git merge vs. git rebase 」を参照して、次のような厄介な履歴を回避してください。

マージ

ただし、次の場合に最適です。

  • まだブランチをプッシュしていません。
  • 上にリベースしorigin/sameBranchます (つまり、他のユーザーから貢献を受け取ったのと同じブランチの上に作業をリベースします。これは、自分の作業を 上にリベースすることとは異なりますmaster)。

「使用しない理由」で説明されているように、異なるブランチ (masterおよびあなたのブランチなど) では、マージが推奨されます。git merge --rebase

マージ

いくつかのバグが発生した場合masterは、どこを見ればよいかが正確にわかります。

于 2013-07-01T14:32:56.000 に答える