2016-04-07 17 views
0

私はgitリポジトリをセキュリティで保護されたサーバに設定しようとしています。私はgit初心者です。これは複数のプロジェクト用で、各プロジェクトディレクトリには.gitファイルが含まれます。私は単一のユーザーのために働くように見えるモデルを考え出したが、これは複数のユーザーにとってうまく翻訳されるとは思わない。各プロジェクトでは、コード開発とテストが行​​われる「開発」ブランチを作成しました。これに満足すれば、ルーチンプログラムが実行されるマスターブランチに統合されます。ワークフローは次のとおりです。枝開発に複数のユーザにgithubを使わないでローカルGitリポジトリを設定する

これらの変更が働いていた場合今、私たちはテストを開発ブランチからpython.pyを実行

git add python.py 
git commit -m "made change to python.py" 

をTEXT.TXTに変更を加えます。もしそうでなければ、私たちは復元したり、開発を続けることができます。我々は満足しているとき:

git checkout master 
git merge development 

今、我々はそれが動作することを知識で安全な私たちのmasterブランチから新しく開発されたプログラムを実行することができます。

しかし、これは自分で作業しているときには問題ありませんが、このモデルではコードを開発するユーザーが増えていく必要があります。これは私が混乱しているところです。これは良いスタートオフシステムですか、あるいは複数の人がそれを使用しているときにローカルマシン上のリポジトリを複製する方が良い方法でしょうか?

開発ブランチで2人のユーザーが同じことを同時に行っている場合、ステージングエリアに追加/コミットすると、一部の変更が失われます。

ローカルマシンにクローンして変更を加え、テストをローカルリポジトリに戻して、ユーザーがこれらの変更を確認できるようにする必要がありますか?私が見ている問題は、Windowsマシンを使用していることです...私たちは私たちの仕事を行うLinuxのubuntuサーバーにsshを送ります。したがって、Windowsマシンでは、作業をテストするために、必要なファイル(場合によってはSQLデータベース)がありません。また、ファイルを置く場合は、スクリプトのディレクトリを毎回変更してこれに対応する必要がありますか?

似たようなことを経験したことがある人はいますか、正しい方向に向けることができますか?ありがとう

答えて

1

あなたは多くのことを求めています。私はあなたに "正しい"方向を指摘しようとします

確かに、各開発者は自分のローカルマシン上のレポをクローンするようにしてください。

実際、メインリポジトリは通常bareです。つまり、gitオブジェクトのみを含み、チェックアウトされたコピーではないため、メインリポジトリ上のファイルの表示や編集もできません。

Windowsマシンで開発し、Linuxサーバーに展開するのは問題ありませんが、環境を管理する必要があります。たとえば、本番用の構成ファイルとコミットされていないローカル構成ファイルをそれぞれの開発者が自分のマシン用に調整することができます。

一般的な分散ワークフローについては、Pro Gitの本からChapter 5 - Distributed Gitを確認できます。

個人的なgithubスタイルの代替手段をインストールして頭痛を軽減することができます。

1つ前の考え:複数のプロジェクトを含む1つのレポではなく、プロジェクトごとに1つのレポを考慮する

関連する問題