Egitを使用してBitbucketのチーム(私たちはすべて管理者です)に何かをプッシュすると、メンバーからの以前の投稿が削除されます。他のメンバーも何かをプッシュした場合、同じことが起こります。
私はこの構成を使用します:
すべてがうまくいきますが、これを解決するためのアイデアはありますか?
「強制更新」にチェックを入れているのはなぜですか?
通常 (「Force Update」が構成されていない場合)、他の人の変更を破棄する状況では、サーバーは「Non fast-forward」メッセージでプッシュを拒否します。その場合、まずリモートの変更をローカル ブランチにマージしてから、再度プッシュする必要があります。これにより、他の変更が保持されます。
しかし、「Force Update」をチェックしてブランチをプッシュすると、リモート リポジトリのブランチが更新され、ローカル ブランチで指していたのと同じコミットを指すようになります。これは、ブランチがリモート ブランチの背後にある場合や分岐している場合でも発生し、他の人のコミットを効果的に上書き/破棄します。
したがって、「強制更新」を無効にする必要がありますrefs/heads/*
(ヘッドはブランチの別の言葉です)。のヘルプの早送りに関する注意も参照してくださいgit push
。
注: 一部のサーバー ソフトウェアでは、(クライアントの強制フラグに関係なく) そのような「非早送りプッシュ」が拒否されるようにリポジトリを構成することが可能です。しかし、Bitbucket ではまだサポートされていないようです。この問題を参照してください。