2016-07-21 11 views
0

私がしたいことは、gitでリモートサーバをmantainコードにセットアップすることです。私は、異なるバージョンを同時に提供するために、すべてのブランチ(マスターを含む)で異なるワークスペースを生成したいと思うでしょう。どうして?本番環境にWebページをアップロードする前にテスト用のローカルWebサーバーにgit serverを設定しています。開発者がコードを修正する必要があるときは、自分自身の作業領域でこの開発のブランチを生成したいと思います。このようにして、私はLANのすべてのコンピュータと実行中の開発者の次のバージョンで安定版にアクセスできます。 gitで可能なのですか?またはバージョン管理ソフトウェアを変更する必要がありますか?別々のブランチごとにワークスペースを持つGit

答えて

1

Webサーバー上の現在のブランチの作業ディレクトリ(「ワークスペース」と呼ばれるもの)をチェックアウトして、人々(開発者、テスター)が、各支店。

これは簡単に可能です。git branch --no-merged masterは、すべての「開いた」ブランチ、つまりmasterにマージされていないブランチを提供します。 git branch --list --no-merged master FEATURE-*でブランチ名をフィルタリングすると、 "FEATURE-"で始まるすべてのマージされていないブランチが得られます。上そこから

、あなたはUnixの上にある場合:あなたがWindows上で、いくつかの他のスクリプト言語を使用している場合

cd somecurrentworkingdirectory 
for branch in `git branch --no-merged master` ; do 
    echo Creating $branch 
    git clone git://source/repos/xyz /whereveryourwebserveris/branches/$branch -b $branch 
    ... do more stuff to get it working on your webserver ... 
done 

または類似。

また、Jenkins(「継続的統合」、「継続的展開」)などの既存のソリューションもあります。

+0

私はJenkinsをチェックします、これは私が探している解決策かもしれません。どうもありがとう! +1 –

0

それは意味がありません。 gitでgit pushを実行していないので、すべての変更はローカルリポジトリに限られています。つまり、git commitを実行すると、ローカルに変更を保存します。 したがって、すべてのブランチを変更してから変更をコミットし、正しい場合はリモートサーバーにプッシュすることもできます。そうしないと、以前のバージョンのファイルを復元できます。

+0

もちろん、私はサーバーの設定ではなく、ローカルgitの作業を考えていた。開発者が正しいブランチにgit pushを実行すると、ブラウザを介してすべてのブランチとマスターにコードにアクセスできます。 –

関連する問題