Posted at

【git】あの頃からやり直したい/今までのことはなかったことにしたい(最新masterの状態から過去に戻りつつ異なる変更を反映させる)


一部の変更(コミット)だけ反映する方法

masterブランチは最新機能をコミットマージした状態で、あとは反映するだけ!

という状態で文言の変更対応などが入ってきたりした場合、困ります(困ります)

その場合は、未反映の機能を除いた状態で文言修正対応を本番環境へ反映しないといけないので、

本番環境の状態までさかのぼり、その地点からブランチを切って対応する必要があるのでその方法を書き記しておきます。


1.本番環境と同じ状態のコミット番号を確認する

↓こんな感じの数字の羅列です

3w42r42wgd1c51d0142ba23dr8vsiovssle752vsds...


2.新しくリポジトリを作り、その時にコミット番号を指定する

git checkout -b branch_name [commit-id]

SourceTreeの場合は「ブランチ」を押した際に「指定のコミット」で戻したいコミット番号を指定する。

WS000058.JPG

指定のコミット」にチェックを入れて、「...」をクリックするとコミットを選べる画面が表示されます。


3.新しくはやしたリポジトリに対して変更(コミット)をマージする

マージします


4.新しくはやしたリポジトリをプッシュ

プッシュしましょう

git push Fix-user-name


5.本番環境でプッシュしたリポジトリをチェックアウトする

リモートリポジトリにチェックアウトする方法

git checkout -b Fix-user-name origin/Fix-user-name


6.キャッシュクリア系のコマンドを叩く

ここはお好みで


おわり


  • たぶんこのパターンは運用方法が悪い気がしますね


参考