2012-03-22 11 views
2

私は...私はまだそう私と一緒に裸してくださいgitのためにかなり新しいよ...は、私は自分自身、ここで奇妙な小さな問題持っていると思います")、gitflowを使用して既存のレポ(" Production ")からクローン化されました。私はその裸のレポをもう一度非裸のレポ( "Staged")にクローンしてからStagedのgit flowを再初期化しました(裸のレポをクローンしたときにgitflowが出現しなかったようですので...?)2つのGitブランチ名が同じブランチを指していますか?私は裸のgitリポジトリ(「コアを作成した</p> <p>

しかし、私はちょっと奇妙なことに気づいた。ステージングされたリポジトリ、開発ブランチ、テキストファイル(test.txt)を編集しているとしましょう。私はgit statusを実行し、test.txtが変更されたことを伝えます。驚くばかり。

今、私ははコミットまたはマージが、私はその後、私は再びgit statusを実行し、それがあるtest.txtが変更されていると言う、git checkout masterを使用してマスターをチェックアウトしないでください

私が間違っていれば修正してください。しかし、私が開発ブランチで行った変更は、マスターブランチに全く影響しませんか?これは、私の "マスター"ブランチと "開発"ブランチが実際に同じブランチであると信じさせます。

明らかに私はラインのどこかで非常にばかげたミスを犯しましたが、どこで?いい考えはありません。これは以前誰にも起こったのですか?ここで問題を診断するための指針はありますか?私が誰にでも春を思い起こさせることができるような愚かな間違いはありますか?治療法はありますか?

(私は、実際には、私がやることを指摘したいと思います必要開発し、マスターブランチ)

更新
私の開発ブランチの変更をコミットした後、結果はそのマスターであります実際には正しい状態に戻り、開発は更新された状態になります。私はおそらくこれはちょうど大丈夫の動作です感じて始めている???

最終
ここでコメントを確認してください。それは以前に対処されていることが判明しました。謝罪いたします。

+0

[gitブランチの修正ファイルが別のブランチに流出している可能性があります](http://stackoverflow.com/questions/246275/modified-files-in-a-git-branch-are-spilling-over) -into-another-branch) – Gareth

+0

はい!これはまさに私が話していることです。申し訳ありませんが、私は年齢のためにSOを検索したが、そのリンクを発見したことはありません。これは複製です。謝罪いたします。 – Jace

+0

開発ブランチにいますか? 'git checkout master'を実行すると、マスターに切り替えるのは確実でしょうか? 'git branch' – ttux

答えて

1

gitでは、リポジトリ(すべてのバージョンが保存されています)、ステージング・ディレクトリー、および作業ディレクトリーを指定します。ステージングディレクトリは、コミットする前に(または "git add"コマンドを発行したときにファイルがどこに行くか)変更をステージングする場所です。作業ディレクトリは、チェックアウトされたリポジトリに表示される一連のファイルです。

ブランチは、単にリポジトリのスナップショットへのポインタです。アクティブブランチをスワップすると、gitはステージング領域と作業領域の変更を保存し、作業ディレクトリ内のすべてのファイルをブランチが指すスナップショットに変更しようとします。これを安全に行うことができない場合は、変更を隠すように指示します。ブランチを交換する前にステージング領域の内容をコミットする傾向があるため、ステージの競合をステージングすることは試していません。

特定の状況では、作業ディレクトリを変更してから、ブランチを入れ替えました。変更がコミットされない(またはステージング領域に追加される)ので、ブランチを変更すると、gitは作業ディレクトリをmasterブランチに戻し、コミットされていない変更を保存します。これにより、必要に応じて別のブランチに変更をコミットすることができます。

1

リンクされた質問に記載されているとおり、変更はコミットするまではブランチの「一部」ではありません。それまでは作業コピーだけが変更されているので、できるだけ多くの人に試してもらいます。

関連する問題