0

2 つの git ブランチがあります。

  • dev65 (バージョン 6.5 の開発)
  • prod65 (バージョン 6.5 のプロダクション)

すべての開発/テストを dev65 ブランチで行い、それらの変更を prod65 にマージします。

私がやりたいことは、dev65 で次の 2 つのバッチ ファイルを作成することです。

  • pulldev65.bat - リモートから最新のコードを取得する
  • pushdev65.bat - 変更をリモートにプッシュします

次に、prod65 ブランチで、同様のバッチ ファイルを作成したいと思います。

  • pullprod65.bat - リモートから最新のコードを取得します
  • pushprod65.bat - 変更をリモートにプッシュする
  • mergedev65.bat - dev65 から prod65 への変更のマージ

問題は、すべての開発者がこれらを使用できるようにこれらのバッチ ファイルをブランチにコミットすることですが、他のすべての開発変更をマージするときに *dev65.bat ファイルを prod65 ブランチにマージしたくないということです。 .

git が実際にはこのように動作することを望んでいないことはわかっているので、他に推奨事項はありますか? ここでの私の目標は、悪いマージで物事を台無しにするのを簡単にしないようにすることです (開発者がバッチ ファイルのみを使用する習慣を身につければ、誤って間違った方法でマージすることはできなくなります)。 .

私が考えることができる唯一の方法は、各開発者にこれらのバージョン管理されていないファイルをローカルマシンで作成させることです...実行可能ですが、理想的ではありません...(彼らが使用しているバッチファイルが正しいことを知りたいです)...

何か案は?

ありがとう

4

1 に答える 1

0

これらのスクリプトで、正しいブランチで実行されていることを確認できます。

if [ "`git symbolic-ref --short HEAD`" != 'master' ]; then
    echo "Call this script from master.'
    exit 10
fi

これにより、両方のスクリプトが最終的に同じブランチにマージされる問題が回避されます。

于 2013-03-28T11:45:42.143 に答える