git push --force-with-lease と --force 質問する

git push --force-with-lease と --force 質問する

私は違いを理解しようとしています

git push --force

そして

git push --force-with-lease

私の推測では、後者は、ローカル ブランチにはないコミットがリモートにある場合にのみリモートにプッシュするのでしょうか?

ベストアンサー1

forceリモート ブランチをローカル ブランチで上書きします。

--force-with-leaseは、リモート ブランチにコミットがさらに追加された場合 (別のチーム メンバーや同僚などによって)、リモート ブランチ上の作業が上書きされない、より安全なオプションです。これにより、強制的にプッシュすることで他の人の作業が上書きされることがなくなります。

コマンドに関するあなたの一般的な考え方は正しいと思います。リモート ブランチの値がローカル マシンのリモート ブランチの値と同じ場合は、リモートを上書きします。同じ値でない場合は、コードで作業中に他の誰かがリモート ブランチに変更を加えたことを示しているため、コードは上書きされません。リモートに追加のコミットがある場合は、当然、値は同じにはなりません。

--force-with-lease私は、チームメイトのコードを上書きしないようにしたいときに使用するオプションとして考えています。私の会社の多くのチーム--force-with-leaseは、フェイルセーフのデフォルト オプションとして使用しています。ほとんどの場合、これは不要ですが、別の人がリモートで貢献したものを上書きしてしまった場合に、多くの頭痛の種を省くことができます。

ドキュメントをご覧になったと思いますが、ここにはもっと長い説明が含まれているかもしれません:

git プッシュ

おすすめ記事