0

以前にsvnを使用していたgitに少し混乱しています。

メイン ブランチからプルし、機能ブランチを作成し、それに取り組み、変更をローカルに追加してコミットし、リモートにプッシュして、ブランチをジェンキンスに送信し、すべてのテストに合格しました。

その間、メイン ブランチは移動したので、開発をチェックアウトし、最新の変更をプルしてから、開発の最新コピーに対してブランチをリベースしました。

したがって、これは、単体テストと統合テストがコードの最新のコピーに対して実行されたが、開発の最新のコピーに対して実行されなかったことを意味します。

これで変更をリモート ブランチに再度プッシュして開発に最新の変更を加え、テストを再実行できると思いましたが、git ステータスにはコミットするものは何もなく、作業ディレクトリはクリーンであると表示されます。

私のブランチが、テストを再実行するためにプッシュしたい開発への変更があることを認識しないのはなぜですか?

4

1 に答える 1

2

リベースは変更を完全に書き換え、以前のコミットを新しいコミットに置き換えます。したがって、コミットする新しいものはありません (古いコミットが変更されたため) が、それらを CI システムに再度プッシュできるはずです。

git push --forceすでにそこにプッシュしたブランチを置き換えるために、使用して強制的にプッシュする必要がある場合があることに注意してください。CI を実行したいだけのフィーチャー ブランチの外でそれを行わないでください。そうしないと、他のチーム メンバーに問題が発生します。

于 2016-05-23T10:08:47.443 に答える