SourceTreeでいろいろ取り消してみる

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)

コミットを無かったことにする場合、プッシュ済みだと駄目なので、
そんな場合は、コミットをした内容を打ち消すのがいい(みたい)。

打ち消したいコミットで右クリックを押し、
[コミット適用前に戻す]を選択する。

すると、コミットを打ち消す修正がコミットされる。