私だけが使用するブランチをリベースしてプッシュを強制しても大丈夫ですか?そして、後でこのブランチをマスターにマージした後で問題が発生しますか?
これを説明するいくつかの状況:
私はそれをマスター機能でマージしません。これは、このブランチに対してその後マージ要求が作成されるため、このアクションは、例として別のチームメンバーによって実行されているためです。
そして、私は自分のブランチで誰もコミットせず、自分のブランチで作業することは絶対にないので、私はフォースプッシュが受け入れられることを理解しています。
その後、gitlabでマージ要求を送信し、マスターでマージします。
フォースプッシュは基本的に、「古いリモートブランチが存在することを忘れて、私があなたに伝えたことを単にプッシュする」と言っています。リモートリポジトリのブランチで最終的に何が発生するかについては、次のように同等です。
したがって、ブランチが本当に1つのクライアントリポジトリでのみ使用され、リモートサーバー上のブランチのコピーが基本的にバックアップとして使用されている場合、強制プッシュは問題ありません。
リモートサーバーのブランチが複数のクライアントリポジトリから(自分自身または他のユーザーによって)使用されている場合、強制プッシュは簡単に混乱を招く可能性があります。これらの他のクライアントリポジトリの1つがサーバーからプルすると、gitはブランチのバージョンをサーバーバージョンとマージしようとします。これにより、履歴の重複や削除されたコードの偶発的な再導入などの望ましくない結果が生じる可能性があります。