0

我正在使用 git p4 rebase 和 git LFS。不幸的是,在将 P4 内容同步到本地 git 存储库后,它会从 .gitattributes 中删除所有现有的 LFS 跟踪文件,并将文件添加到已同步的 .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

同步后的本地 .gitattributes 文件

    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

然后我可以推送到远程。

4

1 回答 1

0

以下作品

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

于 2017-09-11T14:44:26.140 回答