Edited at

SourceTreeでRebase,cherryPickなど

More than 3 years have passed since last update.


Rebase


シンプルにrebase

右のブランチメニューからマージしたい側のブランチを選択(checkout)します。

リベースしたいブランチの履歴を選択して右クリックをします。

リベースを選択します。

本当に現在の変更を'branchName'にリベースしてもよろしいでしょうか?

というメッセージが表示されます。

日本語がおかしいです。

英語版では

Are you sure you want to rebase your current changes on to 'branchName'?

なので、branchNameにむかって変更しても本当にいいかね?と聞いてます。

このSourceTreeの翻訳が相当お馬鹿です。最初は英語版使った方がいいと思います。

文句いってないでFBすべきなんですけど。


cherryPick

ここでチェリーピックを選択するだけです。


pull時にmergeではなくrebaseする。

環境設定->Gitで設定します。

日本版だと

mergeのかわりにrebaseを使います。

英語版だと

Use rebase instead of merge by ...

をチェックをいれます。

pull時に選択も可能です。


subModuleはどうするの?

右クリックして追加します。

追加するとpullのタイミングでサブモジュールの更新が走ります。

サブモジュールは更新したくないケースもなくないのですが、

その場合はどうするのでしょうかね。


git revert

メニューから"コミット前に戻す"を選択します。


git reset

メニューあるresetで実行してください。


git stash

同じくメニューです。


そのほか

書けばきりがないので、あとはメニューみたらわかるかなぁーと思います。

あとGit Flowも簡単につかえるので運用で使いたい場合はすごくおすすめです。

これもメニューにあってすぐわかると思います。

SourceTreeは内部的にはCUIコマンドを実行しているだけなのでCUIをわかっている人なら

ログみればだいたい解決できます。

SubversionをCUIで使う人は少ないですが、Gitに関してはなぜかCUI人口が高い気がします。

CUIが優秀なんだと思いますが。

オープンソースの世界ではGitがあたりまえですが、現場ではまだまだそうでもない気がします。

やっぱりGUIが普及しないとだれでもGitっていうのは難しいと思います。

サービス作成はエンジニアだけでやるものではないので全員で使えるツールを選択したいですよね。