🕌
SourceTreeでどうやるかすぐ忘れるやつのメモ
SourceTreeでの操作
- reset → コミットを右クリックで「"ブランチ名" をこのコミットまで戻す」
- revert → コミットを右クリックで「コミット適用前に戻す...」
- cherry-pick → コミットを右クリックで「チェリーピック」
- rebase → コミットを右クリックで「リベース...」
- squash → まとめたいコミットの1つ前(分岐元)を右クリックで「"ハッシュ" の子を対話形式でリベース」
- ダイアログの下にある「過去を含めてsquahする」で対象を追加(押すたびに追加)
- 「メッセージを編集」で編集してOKボタン
- amend → コミットメッセージを入力する画面の右上、「コミットオプション」で「直前のコミットを上書き」にチェック
Gitコマンドのメモ
pushする前
- git reset
- オプションとしてsoft, mixed, hardの3つがあるが、手動で同じ状態にできるのでデフォルトのmixedを使えば良い
- soft → commitのみ取り消し
- mixed → commitとaddの取り消し
- hard → 全部取り消して変更も破棄
# 直前のコミット取り消し git reset HEAD^ # コミットIDまで取り消し git reset <ハッシュ値>
- オプションとしてsoft, mixed, hardの3つがあるが、手動で同じ状態にできるのでデフォルトのmixedを使えば良い
- git commit --amend
- コミットメッセージの修正やadd忘れを追加
git commit --amend -m "メッセージを修正"
git add file git commit --amend --no-edit
- git rebase
- ブランチ元が進んでいる場合に繋げ直す
git rebase <ブランチ>
- git squash(rebase -i)
- インタラクティブにコミットをまとめる
- 参考:https://git-scm.com/book/ja/v2/Git-のさまざまなツール-歴史の書き換え
# HEADから3つをsquash git rebase -i HEAD~3 # まとめたいコミットの1つ前(分岐元)を指定でsquash git rebase -i <ハッシュ>
pushした後
- git revert
- 修正を元に戻すコミットを作成する
git revert <ハッシュ>
その他
- cherry-pick
- 特定のコミット内容を現在のブランチに取り込み
git cherry-pick <ハッシュ>
Discussion