2017-01-24 2 views
-1

実働サーバ上の同じディレクトリに、実動コードと開発/テストコードがあります。 (私は上司ではありません)例えば、実動ファイルはdo_a_thing.cgiであり、開発ファイルはdo_a_thing_test.cgiです。同じディレクトリにproduction.cgiとproduction_test.cgiを持つためのgitワークフロー

私はdo_a_thing_test.cgiに取り組んでいます。 テスト/コミットが完了し、私の仕事をプロダクションに昇進させる準備が整いました。 しかし、2つのこと: 通常、do_a_thing_test.cgiへの変更を保存しながらdo_a_thing.cgiへの変更を促進する、devから(master?)へのマージを実行します。 2つ目は、実際にdo_a_thing.cgiを書いて、後でgit checkout(master?)するまでです。

この環境では、実際に既存のプロダクションコードを編集することなく、プロダクション用のラベル付きリビジョンを作成するにはどうすればよいですか。

これは私を狂ってしまいますか? Subversionや他のVCSは、私が現在いる環境に適していますか?

ありがとうございます!

答えて

0

devブランチの開発コードとmasterブランチのプロダクションコード。

devブランチにdevブランチをマージすると、do_a_thing_test.cgido_a_thing.cgiの両方が現在のバージョンを保持します。マスターブランチに更新ファイルのみがあり、名前がdo_a_thing.cgiの場合は、git rm do_a_thing.cgigit mv do_a_thing_test.cgi do_a_thing.cgiを使用して変更をコミットできます。しかし、devブランチのファイルはより簡単できれいにするため、do_a_thing.cgiという名前にすることができます。マスターにマージするとgitは2つのファイルを比較します。

他のVCSの場合は、ほぼコントロールバージョンであるため、gitで十分です。

+0

マリーナにお返事ありがとうございます。問題は私の開発スペースが実際に生産であることです。私が_git rm do_a_thing.cgi_というコマンドを与えた場合、別のファイルを置くのにかかっていたとしても、ウェブサイトは動作を停止します。 _git mv do_a_thing_test.cgi do_a_thing.cgi_。しかし、私はそれをすることはできません。 – Harry

+0

はい、同じスペースでの開発とプロダクションでも、異なるブランチにチェックアウトすると、作業ディレクトリが異なります。したがって、masterとdevブランチの両方で 'do_a_thing.cgi'という名前を付けることができます。 –

関連する問題