2

gitを使用して、さまざまなマシンでKileを使用して作成した大きなLaTeXドキュメントを追跡しています。

.kileprKileは、Kileを閉じるときに構成ファイルに書き込みます。私がよく遭遇する問題は、 Kileを閉じるにコミットすることです。したがって、コミットしてプッシュし、他のマシンで作業します。戻ってプルしたい場合、.kileprファイルにカーソル位置が含まれているため(明らかに変更されています)、マージの競合が発生します。

私の質問:特定のファイルのgit configにマージルールを追加する方法はありますか(常に--theirsを使用します)?ファイルにはプロジェクト内のファイルなどの重要な情報が含まれているため、使用する.gitignoreことはできません。.kilepr

4

2 に答える 2

2

マージをシミュレートするためのすべての可能な方法は、「あるブランチを別のブランチのようにするためのgitコマンド」にリストされています。

ただし、1つのファイルの場合、必要なのは、次のようなスクリプトを使用して.gitattributesファイルで宣言されたマージドライバーだけです。keepTheir

mv -f $3 $2
exit 0

カスタムマージドライバー(自分のバージョンを含む)の具体例については、 「<code> git merge -stheirs」が必要ですが、存在しないことはわかっています」を参照してください。

于 2012-08-31T16:27:49.490 に答える
1

2018ソリューション:ドライバーのマージ

git configで、カスタムマージドライバーを追加できます。

[merge "my-custom-driver"]
    name = A custom merge driver used to resolve conflicts in certain files
    driver = my-merge-tool.sh %O %A %B

ただし、ローカルの変更を常に保持するドライバーに対して「true」を返すこともできます。

[merge "keep-local-changes"]
    name = A custom merge driver which always keeps the local changes
    driver = true

次に、.gitattributesで、どのファイルタイプがどのカスタムマージドライバーを使用するかを定義できます。

/folder/**/*.fileExtension merge=keep-local-changes
于 2018-03-07T02:15:38.463 に答える