SourceTreeでいろいろ取り消してみる
修正を破棄する(git checkout)
何かファイルを修正して、作業ツリーに修正ファイルが表示された状態。
この修正を破棄する場合は、破棄したいファイルで
右クリック(または[操作]メニュー)から[リセット...]を選ぶ。
[OK]ボタンを押すと修正が破棄される。
[リポジトリ]メニューの[リセット...]からも破棄することが可能。
ステージしたファイルの取り消し(git reset)
Indexにファイルをステージした状態。
チェックボックスを外せば、ステージを取り消せる。
前回のコミットの修正(git commit --amend)
コミットメッセージの修正
ファイルを修正してコミットした状態。
プッシュはしていない。
コミットメッセージを修正する場合は、
[コミット]をクリックして、下記の画面を表示する。
[オプションのコミット]で[最新のコミットを修正]を選択する。
新たなコミットメッセージを入力し、[コミット]ボタンを押す。
[OK]ボタンを押す。
コミットメッセージが書き換わる。
ファイルの修正
コミットメッセージだけでなく、ファイルの修正も前回のコミットに
加えることができる。
ファイルを修正後、[最新のコミットを修正]を選択して[コミット]すれば、
前回のコミットに修正を反映できる。
コミットを無かったことにする(git reset --soft/hard)
ファイルを修正してコミットした状態。
プッシュはしていない。
コミットを無かったことにする場合は、
コミットを取り消したい位置で右クリックし、
[このコミットまでmasterを元に戻す]を選択する。
リセットのモードをSoft/Mixed/Hardから選択し、
[OK]ボタンを押す。
Softの場合
選択したコミットまでのコミットが無くなり、
選択したコミットまでの修正は、ステージに追加された状態になる。
Mixedの場合
Softと同じく、選択したコミットまでのコミットが無くなり、
選択したコミットまでの修正は、作業ツリーに残る状態になる。
Hardの場合
選択したコミットまでのコミットが無くなり、
ファイルの修正も完全に無くなる。
コミットした内容を打ち消す(git revert)
コミットを無かったことにする場合、プッシュ済みだと駄目なので、
そんな場合は、コミットをした内容を打ち消すのがいい(みたい)。
打ち消したいコミットで右クリックを押し、
[コミット適用前に戻す]を選択する。
すると、コミットを打ち消す修正がコミットされる。