6

ブランチをマージまたはリベースするまで、あるブランチで作成されたファイルは他のブランチには表示されないと思いましたか?

例:

私は2つのブランチを持っています:

  1. 主人
  2. new_contact_page

new_contact_pageブランチをチェックアウトします。

$ git checkout new_contact_page

次に、新しいファイルを作成します。

$ vi contact_page.html

Git コマンドを実行せずに、 Masterブランチに戻ります。

$ git checkout master

次に、この contact_page.html ファイルが私のマスターブランチにもあることがわかります。

$ ls   (contact_page.html shows up in the list!)

ファイルはnew_contact_pageブランチにのみ存在するべきではありませんか?

4

2 に答える 2

10

Git は、実際にリポジトリにないファイルには決して触れません。(追跡されていないファイル)

最初にファイルを (1 つのブランチに)する必要がgit addあります。git commit

于 2012-09-09T18:21:56.453 に答える
1

これは、インデックス(またはステージング領域)を理解するために重要な場所です。
ファイルをステージング(git add)しない限り、ファイルは「追跡されない」(または「プライベート」)ままであり、「gitcheckout」によって変更されることはありません。

これは、ローカルの変更がまだインデックスに追加されていない、追跡されたファイル(以前はローカルのGitリポジトリでコミットされた)を参照する「ステージングされていない」とは異なります。

詳細については、「gitを発明した可能性があります(おそらくすでに持っているかもしれません!)」を参照してください。

于 2012-09-10T06:39:17.030 に答える