web-dev-qa-db-ja.com

TortoiseGitを使用して誤ったマージを元に戻す方法

TortoiseGitリポジトリがローカルにあり、これもリモートにプッシュされています。 master(製品版)とCodeFirst(開発ブランチ)の2つのブランチがあります。

今日、CodeFirstブランチのマイナーなバグを修正しました。その変更(単一のファイルへの単一の変更)をマスターにマージしたかったのです。ローカルリポジトリをマスターに切り替え、マージを選択し、シングルコミットを選択しました。 [OK]を押すと、マスターには、必要な変更だけでなく、CodeFirstブランチのすべての変更が含まれているように見えます。

どうすればいいですか

a)誤ったマージを元に戻してコミットする

b)CodeFirstからマスターへのその単一の変更のみを再適用します

    [This revision is tagged CodeFirst and master in the TortoiseGit log. It is the commit I wanted to merge]
    Revision: 7d4c3d30aec8fb8e531331866c091dee8fa94f25
    Author: Nikki Locke <[email protected]>
    Date: 07/04/2015 18:03:37
    Message:
    Allow changing both accounts on new transfers.
    ----
    Modified: bin/banking/transfer.html

    [This revision is tagged Origin/CodeFirst and master in the TortoiseGit log. I did not want to merge it to master!]
    Revision: ce94383e46285fb4f2af4dc21f850952ca65f250
    Author: Nikki Locke <[email protected]>
    Date: 02/04/2015 19:54:23
    Message:
    Fixed syntax errors in CASE statements
    ----
    Modified: Reports.cs

    [Many more revisions made in the CodeFirst branch omitted]

    [This revision is tagged Origin/master in the TortoiseGit log]
    Revision: 68e1dff312b5927df01a9ab7e483f9163324b864
    Author: Nikki Locke <[email protected]>
    Date: 31/03/2015 19:04:01
    Message:
    Make Qty input box smaller.

    Put some css into invoice print to make it align correctly.
    ----
    Modified: bin/customer/print.html
    Modified: bin/default.js
4
Nikki Locke

マージを「元に戻す」には、ログダイアログを開き、ブランチ/現在のHEADをマージ前のコミットにリセットします(保持します)。

実際には、別のブランチをマージするのではなく、コミットを選択します。ログで、選択するコミットをクリックし、「cherry-pick」を選択します。

5
MrTux