0

作業を開始してからgitで追跡したWebサイトがあります。次に、同様のコードを使用して2番目のWebサイトを構築します。私が最初に考えたのは、「OK、ClientAのリポジトリのクローンを作成し、クローンの名前をClientBに変更して、そこから開始する」というものでした。しかし、それは私にはこれを整理するための理想的な方法のようには思えません。最終的には、WebsiteBoilerplateのようなリポジトリを作成し、クライアントごとに複数のブランチを作成したいと思います。または、クライアントごとに個別のリポジトリを作成する必要がありますか?この種のことのベストプラクティスはありますか?または私は私が感じるようにそれをするべきですか?一度、どこに行く必要があるかを決定したら、実行する必要のあるコマンドについて、ここからそこまで到達するための支援が必要です。

4

1 に答える 1

1

すべての場合と同様ですが、共通のコードを開発するマスターブランチを持つことは、合理的なアプローチのように思えます。次に、サイトごとに異なるブランチを作成し、サイト固有のブランチを共通のマスターと同期させておくことができます。

サイト固有のブランチの作成は簡単です。

git checkout -b siteName

マスターからの変更をマージまたはリベースすることにより、マスターとの同期を維持します

git merge master

また

git rebase -i master

しばらくして別々のリポジトリを作成したい場合は、それも可能です。メインリポジトリをフォークするだけで、「アップストリーム」リポジトリから変更をプルダウンすることで同期を維持できます。

gitでフォークするには(githubのフォークとは異なります)、通常はクローンを作成し、originの名前をupstreamに変更して、新しいoriginにプッシュします。また、新しい原点を追跡するようにローカルを設定しました。

オリジンという名前のリモートがすでにあると仮定して、それをアップストリームに名前変更し、新しいオリジンでトラッキングを設定します。

git remote rename origin upstream
git remote add origin https://origin.git
git branch --set-upstream master origin/master
git push origin master

アップストリームに共通のコードがあり、オリジンがサイト固有であるため、次の方法でアップストリームの変更を追跡できます。

git fetch upstream master #checks if there are changes
git merge upstream/master #merges master with the changes in upstream

上記の2つのコマンドをgit pull upstream master

于 2012-10-12T19:17:21.373 に答える