6

私はウェブサイトで作業しており、開発モード(コードにローカルホストを指すすべてのURLが含まれている場合、データベースの名前は「project」、ユーザーは「root」、空のパスワードなど)から本番モード(コードには空のパスワードなど)に常に切り替えています。ホスティング、実際のパスワード、実際のURLなどですべてが機能するように設定されており、最近Gitを使い始めました。

ここで、コードをホスティングにアップロードする準備ができているブランチを作成したいので、Webサイトを更新するたびに、コピーを作成してすべてを手動で変更する必要はありません。したがって、コードを変更してmasterブランチでコミットすると、他のものを変更せずにアップロード用のコードに反映されます。

したがって、次のようになります。

Master -> ReadyForUpload

だから私の質問は、Gitを使用する場合、各ブランチはすべてのファイルを含むディレクトリのように物理ストレージに保存されますか?ブランチをディレクトリにエクスポートすることは可能ですか?

ちなみに、私はWindows用のGit拡張機能を使用しています。

4

3 に答える 3

6

いいえ。他のバージョン管理システム(Subversionなど)は、ブランチをサブディレクトリとして保存します。gitには1つの作業領域があり、その中で作業するブランチを変更します。

例えば。

git branch ReadyForUpload
git checkout ReadyForUpload 

何も変わっていないようですが、現在ReadyForUploadブランチで作業しています。

その後、いくつかの変更を行ってコミットし、

git checkout Master

マスターブランチに戻り、ReadyForUploadの変更がなくなります(つまり、保存されます)

もちろん、何らかの理由で両方のブランチを同時に使用できるようにしたい場合は、リポジトリを別のディレクトリに複製し、他のブランチをチェックアウトすることができます。該当する場合は、gitpullまたはgitpushを使用してそれらを同期します。

于 2012-11-30T08:28:52.537 に答える
3

各ブランチは、すべてのファイルが含まれるディレクトリのように物理ストレージに保存されていますか?

その答えはノーです!

ブランチをディレクトリにエクスポートすることは可能ですか?

はい。エクスポートを行うにはいくつかの方法があります。ただし、そのブランチで小さな変更/調査を行う予定であり、開発と一緒に(マスターブランチで)不穏な本番の問題が発生するため、そのブランチで作業したい場合。起源から別のクローンを作成することをお勧めします

たとえば、中央で合意された起源がgit://github.com/my_org/my_proj.git

おそらく開発WDのクローンを作成するでしょう

git clone git://github.com/my_org/my_proj.git

その後、あなたはプロダクションを持っている必要があります

git clone git://github.com/my_org/my_proj.git my_proj_production
cd my_proj_production
git checkout -b release_branch
git push origin release_branch

で、my_proj_production本番環境を反映するようにURL、パスワードなどを変更する必要があります。master次に、開発( )から本番()までをマージするrelease_branchたびに、my_projdirで作成しgit push、 dirでmy_proj_production実行します。

git remote update
git merge origin/master

最初の行は、リモートリポジトリからローカルHDDへの変更を確実に取得します(下.git/objectsの小さなファイルとして、2番目のコマンドは、行った変更がrelease_branchにマージされることを保証します(URL、パスワードなどは、 release_branch)。

中央リポジトリが(まだ)ない場合はコメントしてください。その状況を反映するように回答を調整します。

于 2012-11-30T08:45:50.113 に答える
0

Gitを初めて使用する場合は、gitflowから始めることをお勧めします。複雑な作業に煩わされることなく、masterブランチとブランチを維持するための優れたワークフローを提供します。developgit

ここでそれについてもっと読む

于 2013-10-04T06:52:16.953 に答える