Help us understand the problem. What is going on with this article?

Gitでやらかした時のための基本操作(Sourcetree編)

同じ内容のエントリはたくさんありますが、CLIを使うものが多いので、
社内向けにSourcetreeでの基本commandの操作方法をまとめました。

前提

共有しているリモートリポジトリに既にPushしたCommitを変更するとおかしなことになるのでPush前に!というのが大原則になります。

プッシュする前

直前のCommitだけを修正する場合: amend
Commitを消したい場合: reset
古いCommitを修正する場合: rebase

プッシュした後

Commitをなかったことにしたい: revert
Push後にはamend/reset/rebaseしちゃダメ!

(amend)コミットメッセージを書き直したい時

直前のコミットは、コミットした後に再度コミットボタンを押し、下記のように「最新のコミットを修正」を選択する。
スクリーンショット_2017-02-28_21_14_43_1.png

(rebase)古いコミットを書き直したい場合

直したいコミットの親コミットの上で、「xxxの子を対話形式でリベース」を選択
スクリーンショット 2017-02-28 21.47.07 1.png
「メッセージを編集」でコミットメッセージを編集、
またはドラッグ&ドロップでコミットの順番を入れ替える
スクリーンショット_2017_02_28_21_52.png

(rebase)直前のCommitから任意のCommitまでまとめたい

こんな状況
naoko__Git_.png

まとめたいコミットの上で「このコミットまでmasterを元に戻す」を選択。Using modeでSoftを選択してOK
その後、新しくCommitすることでCommitをまとめることができます。
スクリーンショット 2017-02-28 21.26.34.png

(revert)プッシュ後だけどコミットをなかったことにしたい

「コミット適用前に戻す」を選択します。
OKを押すと、「Revert コミット名」という名前の新しいコミットができます。
スクリーンショット_2017-02-28_22_15_35.png

(reset)コミット内容をなかったことにしたい

戻したいコミットの上で「このコミットまでブランチ名を元に戻す」を選択。modeはSoftを選択してOK
スクリーンショット 2017-02-28 21.58.09.png

さらにもっとやらかした場合は?

[ Gitでやらかした時に使える19個の奥義 ]
http://qiita.com/muran001/items/dea2bbbaea1260098051

nnishimura
しょしんしゃなのでやさしくしてほしい
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away