0

簡単な/初心者の質問。master ブランチからブランチを作成し (「testing」と言います)、いくつか試してから、マージして戻しました。「テスト」ブランチを変更すると、マスター ブランチでもローカルの変更が行われます。

マージしたらブランチを削除し、再利用しないようにする必要がありますか? 枝が分岐するだけだと思っていました...

明確にするために、私がしていることは次のとおりです。

git checkout master
git branch testing
git checkout testing
// Modify files...
git add <modified-files>
git commit -m 'It worked!'
git checkout master
git merge testing

// Now I go back and edit the testing brach
git checkout testing
// Edit files...
git checkout master
// I can see the local changes I made to the testing branch!! (?)

助けてくれてありがとう。

4

2 に答える 2

2

2 番目の変更は、実際にはどのブランチにもありません (コミットしていません)。

これは、「ダーティ」ワークスペースでブランチを変更するとどうなるかを説明します。

変更をテスト ブランチにコミットすると、通常どおりマスターから分岐します。

于 2012-06-11T20:20:18.220 に答える
2

変更は作業コピーのみにあり、まだどのブランチにもありません。git commit -a -m 'The changes'master を再度チェックアウトする前に行うと、変更は testing ブランチにコミットされます。

master をチェックアウトしたいだけで、testing ブランチで行った変更をコミットする準備ができていない場合は、 を使用git stashして変更を一時的に片付けることができます。これでクリーンな作業コピーができて、やりたいことが何でもできます (例えば、master をチェックアウトしてそこにコミットします)。完了したら、テストを再度チェックアウトし、以前の変更を で元に戻すことができますgit stash pop

于 2012-06-11T20:20:36.513 に答える