1年前に私のソフトウェアのバージョンをリリースし、Gitの2.3でタグ付けしたとしましょう。ソース管理で古いタグのパッチを作成する方法は?
だから私は機能を追加し続け、バグを修正しています。それを知る前に、ソフトウェアはバージョン3.0になっています。しかし、今ではソフトウェアのバージョン2.3にバグがあり、修正が必要な人はバージョン3.0にアップグレードする準備ができていません。
Gitに関しては、Gitリポジトリの履歴を変更することなく、2.3へのパッチの適用とバージョン2.3.1のソフトウェアの作成を管理する最も良い方法は何でしょうか。
たとえば、バージョン2.3をチェックアウトできず、パッチを適用して2.3.1でタグ付けし、新しいヘッドを作成するのでそれをプッシュアップします。
開発者はどのようにして通常、古いバージョンのソフトウェアのサポートを管理していますか?
は
オーケー編集ので、私は@AnoEのアドバイスに従い、以前のバージョンにパッチを適用するために、次のように今、私のワークフローがあります。アドバイスは大歓迎です。
git checkout v2.3.0
// Make code changes
git add -A
git commit -m "Fixed a bug in old app"
// Do something to verify the changes work on a different environment
git checkout -b v2_3_1
git tag -a v2.3.1 -m "Fixed small bug."
git push origin v2_3_1
git push --tags
私がブランチを作成しなければならなかったのは、私たちのレポホスティングソリューションであるKilnにタグが表示されないためです。 BitbucketやGithubのような他のプロバイダが、ブランチが関連付けられていないタグを表示するのか、これがGitのストア方法の副作用なのか分かりません。 git tag -l
を実行したときにタグがローカルに表示されましたが、ウェブUIから表示されませんでした。私がブランチとタグをプッシュした後、私はブランチを削除して、それがWeb UIから正しく表示されました。
git push --delete v2_3_1
なぜこのようなことが起こるのか誰かが理解できれば、それは分かります。