逐渐将repo转换为对某些文件使用git-lfs.一次一个文件



我们有一个价值高、破坏成本高的回购。

它还有一些大的XML文件,当使用Web应用程序进行合并和git日志历史记录时,这些文件会导致重大问题。此外,这可能会使我们的CI/CD效率低下。换句话说。。。促使人们转向git-lfs的常规事物。

我们要谨慎行事。一次一个文件。

我看到了类似于下面列出的方法:

cp *.xml ~/tmp
git rm *.xml
git commit
git lfs track *.xml
git add .gitattributes
git commit; git push

在新目录中:

git clone --mirror $remote; cd repo
bfg --delete-files '*.xml'
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push

返回src:

mv repo repo.bloated
git clone $remote; cd repo
cp ~/tmp/*.xml .
git add *.xml # (it now puts them in lfs)
git commit; git push

我怎么能做一些类似的事情,但只是从一个大的xml文件开始,以减轻这个过渡过程中的风险。我们更喜欢与维护该文件的开发人员保持轻松联系,隔离更改并在此处爬网。更改100个文件可能会阻碍开发人员的工作,而且成本高昂。

在上面的例子中,我们只是将*更改为特定的文件名吗?

如果有人有类似的担忧,我们已经对此进行了实验,我很高兴地说,我们已经能够安全、谨慎地做到这一点。

逐渐过渡到git lfs是可行的,要逐个文件进行尝试,您可以用上面片段中的特定文件替换*,并一次执行一个文件。

以后你可以随心所欲,使用bfg

如果你绝对确定你想这样做来试用git lfs,你可以这样做。我们在回购中这样做是为了在更广泛地采用之前更熟悉它,它运行得很好。

最新更新