マージをスカッシュするように git を構成することはできますが、プルからの変更をスカッシュすることはできませんか? 可能であれば、このように git を構成するにはどうすればよいですか?
経由でgitを構成しましたgit config branch.<name>.mergeoptions --squash
これは、マージされたブランチからコミットを押しつぶすために機能しますが、プルを実行するときに着信変更も押しつぶそうとします。
マージをスカッシュするように git を構成することはできますが、プルからの変更をスカッシュすることはできませんか? 可能であれば、このように git を構成するにはどうすればよいですか?
経由でgitを構成しましたgit config branch.<name>.mergeoptions --squash
これは、マージされたブランチからコミットを押しつぶすために機能しますが、プルを実行するときに着信変更も押しつぶそうとします。
~/.gitconfig または .git/config プロジェクト単位で。
...
[alias]
ms = merge --squash
編集: git-config マンページによると、組み込みコマンドをオーバーライドすることはできません。これだけのために別のコマンドを使用することを提案するために回答を更新しました。
git(1) コマンド ラッパーのコマンド エイリアス - たとえば、「alias.last = cat-file commit HEAD」を定義した後、呼び出し「git last」は「git cat-file commit HEAD」と同等です。スクリプトの使用に関する混乱とトラブルを避けるために、既存の git コマンドを隠すエイリアスは無視されます。引数はスペースで分割され、通常のシェルの引用とエスケープがサポートされています。引用符のペアとバックスラッシュを使用してそれらを引用できます。
私はあなたがあなたがしたいことをするためにそして次にする必要があると思いgit fetch
ますgit merge --no-squash
。または、単一のコマンドでそれを実行したい場合は、単純なgitエイリアス(または、さらに言えば、bashエイリアスまたは関数)で十分です。
git config alias.pull-no-squash'!git fetch; git merge --no-squash '