2017-09-11 9 views
-1

私はWindowsマシン上でgit bashクライアントを実行しています。これを使って、リモートマシンのすべてのブランチをWindowsマシン上の "localRepo"というディレクトリにクローンします。レポには2つの支店(「マスター」と「開発」)があり、支店の「マスター」から始めます。gitクライアントとローカルファイルシステムとのやりとり

Windowsファイルエクスプローラで "localRepo"を開くと、.gitサブディレクトリと、そのブランチのさまざまなファイルとサブディレクトリが表示されます。

gitクライアントのコマンドラインとcheckoutブランチの "develop"に行くと、gitクライアントはWindowsファイルシステムを操作するので、 "localRepo"に行くと "develop"ブランチのファイルが表示されますWindowsファイルエクスプローラ?

gitは.gitディレクトリ内のすべてのブランチの状態を保持していると仮定します。

gitはブランチの変更時に切り替わるシンボリックリンクを作成していますか?

+0

「.gitサブディレクトリとそのブランチのさまざまなファイルとサブディレクトリが表示されます」という意味は何ですか?あなたの '枝'は何を意味しますか? – aircraft

答えて

1

はい、git checkout develop以降、GITはlocalRepo Windowsフォルダを開発ブランチのファイルで物理的に更新します。それを試してみてください。

+0

私はそれを試して、あなたは正しい!いい答えだ。 – jdmeta

0

2つの支店がある場合、あなたのケースはローカルリポジトリにmasterdevelopです。 まず、作業ディレクトリにはブランチが共有されていることがわかります。

あなた場合devブランチであなたはa.txt、および型コンテンツaを追加し、しかし、あなたは、あなたがmasterブランチにチェックアウト、ステージにa.txtを追加しませんでした。 a.txtとその内容が表示されます。a.txtは両方のブランチとは関係がないためです。あなたはdevブランチでマスターする段階、およびそれをコミットするa.txtを追加した場合

、あなたは、あなたの推測が正しいか、a.txtは今のgitを制御しているので、あなたが、a.txtを見ることができない、マスターするチェックアウトgitはブランチのrepoディレクトリのベースを更新します。マスターブランチにa.txtを所有したい場合は、devブランチをマスターにマージしてください。あなたについて

は枝が変更されたとき、それはスイッチのシンボリックリンクを作成するgitのですか?

はい、Gitはマスターブランチにそれが示している場合、あなたは、 .git/HEADファイルを開くことができ、それをトレースする運命

:あなたは他のブランチにチェックアウトした場合

ref: refs/heads/master 

、あなたは大きな変化を見ることができます。

関連する問題