使用合并策略联合将远程 .gitattribute 文件与本地 .gitattribute 文件合并
Merging a remote .gitattribute file with local .gitattribute file with merging strategy union
我正在使用 git p4 rebase 和 git LFS。不幸的是,在将 P4 内容同步到本地 git 存储库后,它会从 .git 属性中删除所有现有的 LFS 跟踪文件,并将文件添加到已同步的 .git 属性。
示例:
本地和远程 .git同步前的属性文件
File 1 filter=lfs diff=lfs merge=lfs -text
File 2 filter=lfs diff=lfs merge=lfs -text
File 3 filter=lfs diff=lfs merge=lfs -text
本地 .git同步后的属性文件
File 4 filter=lfs diff=lfs merge=lfs -text
File 5 filter=lfs diff=lfs merge=lfs -text
现在,如果我推送到远程,我将失去对 1、2、3 的跟踪。所以在推送之前,我需要将远程 .gitattributes 文件与本地 .gitattributes 文件合并以获得
File 1 filter=lfs diff=lfs merge=lfs -text
File 2 filter=lfs diff=lfs merge=lfs -text
File 3 filter=lfs diff=lfs merge=lfs -text
File 4 filter=lfs diff=lfs merge=lfs -text
File 5 filter=lfs diff=lfs merge=lfs -text
然后我可以推送到远程。
以下作品
git show origin/master:.gitattributes > ./.gitattributes.theirs
touch blankFile
git merge-file --union .gitattributes blankFile .gitattributes.theirs
如果你不想覆盖 .gitattributes 你可以这样做
git merge-file -p --union .gitattributes blankFile .gitattributes.theirs > .gitattributes.new
我正在使用 git p4 rebase 和 git LFS。不幸的是,在将 P4 内容同步到本地 git 存储库后,它会从 .git 属性中删除所有现有的 LFS 跟踪文件,并将文件添加到已同步的 .git 属性。
示例:
本地和远程 .git同步前的属性文件
File 1 filter=lfs diff=lfs merge=lfs -text
File 2 filter=lfs diff=lfs merge=lfs -text
File 3 filter=lfs diff=lfs merge=lfs -text
本地 .git同步后的属性文件
File 4 filter=lfs diff=lfs merge=lfs -text
File 5 filter=lfs diff=lfs merge=lfs -text
现在,如果我推送到远程,我将失去对 1、2、3 的跟踪。所以在推送之前,我需要将远程 .gitattributes 文件与本地 .gitattributes 文件合并以获得
File 1 filter=lfs diff=lfs merge=lfs -text
File 2 filter=lfs diff=lfs merge=lfs -text
File 3 filter=lfs diff=lfs merge=lfs -text
File 4 filter=lfs diff=lfs merge=lfs -text
File 5 filter=lfs diff=lfs merge=lfs -text
然后我可以推送到远程。
以下作品
git show origin/master:.gitattributes > ./.gitattributes.theirs
touch blankFile
git merge-file --union .gitattributes blankFile .gitattributes.theirs
如果你不想覆盖 .gitattributes 你可以这样做
git merge-file -p --union .gitattributes blankFile .gitattributes.theirs > .gitattributes.new