[解決済み] Git/Git Extension の "squash" と "fixup" の違いは何ですか?
2022-05-10 11:23:11
質問
私はこれまで Git エクステンション をしばらく使っていますが(最高です!)、次のような簡単な答えは見つかっていません。
時々、コミットメッセージを入力するときに、タイプミスをすることがあります。私の友人は、次の方法でそれを修正する方法を教えてくれました (Git Extentions で)。
コミット上で右クリック > 詳細設定 > コミットを修正する
そして、単に "Amend" にチェックを入れてメッセージを書き直すと、ほら! 私のコミットメッセージは修正されました。
しかし、この他のオプション "Squash commit" は...。これは何をするものなのでしょうか?
私の質問です。
誰かが私に説明するだろう正確な違いは何です スクワッシュコミット そして 修正コミット で Git/Gitエクステンション ? 見た目はちょっと... "類似"。 に見えます。
どのように解決するのですか?
Git Extensions が具体的にどのようなことを行っているのかはわかりませんが
git rebase
には、squash! や fixup! というプレフィックスをつけたコミットを自動的に潰す、あるいは修正するためのオプションがあります。
--autosquash, --no-autosquash
When the commit log message begins with "squash! ..." (or "fixup!
..."), and there is a commit whose title begins with the same ...,
automatically modify the todo list of rebase -i so that the commit
marked for squashing comes right after the commit to be modified,
and change the action of the moved commit from pick to squash (or
fixup).
スクワッシュとフィックスアップの違いは、リベースの際に
squash
を実行すると、元のコミットとスクワッシュのコミットのメッセージを結合するよう促されるのに対し
fixup
操作では元のメッセージを残し、fixupコミットからのメッセージを破棄します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Gitを使って最後のXコミットをまとめる
-
[解決済み] git add -A」と「git add .」の違い。
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み] このリポジトリで別の git プロセスが実行されているようです。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み】2つの連続しないコミットをつぶすには?