2016-10-18 10 views
0

masterをプロダクションブランチとして使用しています。これは夜間に多くのサーバに読み込み専用として取り込まれます。マスターは私が開発するために押すだけなので、先に進んではいけません。開発が安定しているときは、マスターに合わせて早送りしたい。私は現在でこれをやっているマスタのコミット履歴と開発を同期

: gitのチェックアウトのマスター gitのプルの原点は、+ Gitのプッシュ起源を開発

をマスターこれは私のために動作し、きれいにすべてを同期するが、それは少し間違って感じています。私のチームには、通常の人のようにマスターに成長するだけでマージするのが好きな開発者もいます。しかし、マージすると、マスター1が開発に先立ってコミットするマージ・キットが作成されます。これらは時間が経つと蓄積し、gitの歴史は汚れて見苦しいものになります。私がブランチクローンをハッキングすると、それらのマージコミットはリモートで消えますが、私のチームのローカルブランチに残ります。

私はgit rebaseとgit merge --ffを試しましたが、これらのハッシュはまだ不均一であると表示されます。

要約:どのようにすれば、完全に開発しても完璧にマスターを早送りできますか?それとも、gitを使うべきではないのですか?

答えて

0

通常、あなたのフローは正しいと思われます。 しかし、早送りのみを行うことが絶対条件であるため、適用するには--ff-onlyを渡す必要があります。

git checkout master 
git fetch origin 
git merge --ff-only origin/develop 
git push origin master 

--ffは、早送りがデフォルト動作であるため、不要です。

私はGitのリベースとGitは--ffマージしようとしたが、 はまだのように、凹凸を示したものチェンジハッシュ。

早送りマージby definitionコミットマージ作成したことがないが、唯一の分岐ポインタ更新:マージが早送り、のみ更新する分岐ポインタとして解決

--ffは作成せず、マージコミット。これがデフォルトの の動作です。

関連する問題