1

マージをスカッシュするように git を構成することはできますが、プルからの変更をスカッシュすることはできませんか? 可能であれば、このように git を構成するにはどうすればよいですか?

経由でgitを構成しましたgit config branch.<name>.mergeoptions --squash

これは、マージされたブランチからコミットを押しつぶすために機能しますが、プルを実行するときに着信変更も押しつぶそうとします。

4

2 に答える 2

2

~/.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 コマンドを隠すエイリアスは無視されます。引数はスペースで分割され、通常のシェルの引用とエスケープがサポートされています。引用符のペアとバックスラッシュを使用してそれらを引用できます。

于 2012-12-04T15:18:11.353 に答える
0

私はあなたがあなたがしたいことをするためにそして次にする必要があると思いgit fetchますgit merge --no-squash。または、単一のコマンドでそれを実行したい場合は、単純なgitエイリアス(または、さらに言えば、bashエイリアスまたは関数)で十分です。

git config alias.pull-no-squash'!git fetch; git merge --no-squash '

于 2012-12-05T00:48:46.453 に答える