2017-11-16 16 views
1

私はgitに慣れているので、この質問をどのようにフレーズするか正確にはわかりません。私の同僚の一人が、「ローテーション」と呼ばれるブランチの機能について作業していました。彼が書いたコードを利用したかったので、git checkout rotationを実行しました。 masterrotationブランチの主な違いは、ローテーションブランチにrotation/というサブディレクトリが追加されていることです。しかし、git checkoutの実行後、このサブディレクトリは私の作業ディレクトリには表示されませんでした。このサブディレクトリを表示するにはどうすればよいですか?私はいくつかのグーグルを行い、それらの変更が作業ディレクトリ内の変更された変更と衝突する場合、gitがブランチをチェックアウトするときにgitが作業ディレクトリを変更しないことを発見しました。ただし、少なくともrotation/サブディレクトリの場合は、masterに存在しないため、ここには該当しません。では、なぜこのサブディレクトリが表示されませんか?どうすれば入手できますか?Git checkoutブランチは作業ディレクトリを変更しません

+3

そのブランチから最新のコミットを取得しましたか? –

+2

Gitはディレクトリをバージョン化していません。ディレクトリ内にファイルがない場合は、ブランチをチェックアウトするときにファイルを使用できません。 –

+0

ここにはさまざまなリポジトリを記述してください。あなたとあなたの同僚はそれぞれ独自のレポを持っていますか?変更をプッシュする中央レポがありますか?新しい 'rotation /'サブディレクトリにファイルがありますか? –

答えて

2

git pull origin rotationを試しましたか? フォームはgit pull <remote> <branchname>である必要があります。

+0

これはローテーションブランチで何かを混乱させませんか? –

+0

いいえ。ブランチからローカルマシンにファイルを引き出しています。 – Nacev

4

ブランチをチェックするだけでは、マシンをリモートで変更するだけでは不十分です。 git pullまたはgit fetchを使用する必要があります。

ここには useful diagram you can use as a referenceがあります。

2

以下のコメントでは、3つのリポジトリ、自分のローカルリポジトリ、同僚のレポ、中央レポがあると仮定します。すでにローカルブランチrotationがあるようです。あなたの同僚は、中央リポジトリに彼女rotationブランチをプッシュした場合、あなたはあなたの同僚の変更でそのブランチを更新する必要があります。

$ git checkout rotation 
$ git pull origin rotation 

注意を、あなたの同僚だけで任意のファイルを追加せずにディレクトリを作成した場合は、その後、彼女はそれをコミットすることができません。 Gitはディレクトリ自体を追跡しません。代わりに、ファイルを追跡し、ファイルが属するディレクトリに関する追加情報を格納します。

関連する問題