I have an UE4 project with a small team and we use Git as a SCV. All *.uasset and *.umap files stores as LFS on the remote repository (GitLab).
Sometimes someone of the team makes changes on a file, e.g. *.uasset, and Pushes it. On the other side someone else has made changes on the same file and Committed it. Naturally, he has to perform Pull at first and then Push. To avoid ugly addition commit “merge branch ‘master’ of URL into ‘master’” we use command
git pull --rebase origin master. During this process Git discovers conflicted files and offers to resolve them, and there is a problem: for some reason the local copy of the file corruptes, its size is less than 1 KB and it contains a few lines about its hash and size (prev and new), and of course we cannot choose this version of the file. If before Rebase operation save a copy of the file somewhere and move it back during Rebase operation when the original copy is corrupted, than we can choose this copy as usual, because the damaged copy was replaced by a normal one. But it’s not convenient to track manually all of binary files and copy them during Rebase, and then bring them back, and continue Rebase.
The question is how to avoid this strange behavior?
P.S. Sorry for my bad English.