相关疑难解决方法(0)

用大文件Git

情况

我有两台服务器,生产和开发.在生产服务器上,有两个应用程序和多个(6)数据库(MySQL),我需要将它们分发给开发人员进行测试.所有源代码都存储在开发服务器上的GitLab中,开发人员只能使用此服务器,并且无权访问生产服务器.当我们发布一个应用程序时,master会登录到生产环境并从Git中提取新版本.数据库很大(每个超过500M并且数不胜数),我需要尽可能简单地将它们分发给开发人员进行测试.

可能的解决方案

  • 在将数据库(每个数据库)转储到单个文件的备份脚本之后,执行将每个数据库推送到其自己的分支的脚本.如果开发人员想要更新他的本地副本,则会拉出其中一个分支.

    发现这个不起作用.

  • 生产服务器上的Cron每天都会保存二进制日志,并将它们推送到该数据库的分支中.因此,在分支中,有每日更改的文件,开发人员会提取他没有的文件.当前的SQL转储将以另一种方式发送给开发人员.当存储库的大小变得太大时,我们将向开发人员发送完全转储并刷新存储库中的所有数据并从头开始.

问题

  • 解决方案可行吗?
  • 如果git正在推送/拉出存储库,它是上传/下载整个文件,还是只更改它们(即添加新行或编辑当前的行)?
  • Git可以管理如此大的文件吗?没有.
  • 如何设置存储库中保留的修订数量?与新解决方案无关.
  • 有没有更好的解决方案?我不想强迫开发人员通过FTP或类似的东西下载这么大的文件.

git large-files gitlab

41
推荐指数
4
解决办法
5万
查看次数

Git忽略被跟踪的文件而不删除它们

我在理解基本的git概念时遇到了一些麻烦:/

在我的git控制的网站上尝试一些东西之前,我正在我的本地Windows机器上进行测试.

我有:

gittesting/repo1:
    file.txt
    ignoreme:
        ignore.txt
Run Code Online (Sandbox Code Playgroud)

gittesting/repo2
    file.txt
    ignoreme:
        ignore.txt
Run Code Online (Sandbox Code Playgroud)

Repo2是repo1的副本,并且已经跟踪了ignoreme.ignore.txt文件在repo2中被更改,但我想停止跟踪它并让git完全忽略它.问题是,如果我创建一个.gitignore文件并添加ignoreme,它已经太晚了,因为它已经被跟踪了,所以我不得不做git rm --cached ignore,但是它被标记为已删除,如果我将提交删除repo1,该目录将被删除而不是被单独留下..

把它们加起来:

  1. ignore.txt在两个repos之间有不同的内容.
  2. 我希望ignore.txt内容保持原样并被git完全忽略

我在网上看过,在IRC问过,并查看了相关的问题,但找不到办法做到这一点.我知道这个例子似乎微不足道,但这正是我需要在我的网站上做的事情,目录是论坛/缓存.


编辑:

这有点像黑客,我更喜欢更好的答案,但我最终做了:

cd repo2
echo "ignoreme" > .gitignore
echo "ignoreme/*" > .gitignore
git rm --cache -r ignoreme
git commit -m "Should ignore now"
cd ../repo1
mv ignoreme ignoreme2
git pull ../repo2
mv ignoreme2 ignoreme
Run Code Online (Sandbox Code Playgroud)

git version-control

17
推荐指数
2
解决办法
6744
查看次数

使用二进制文件的Git存储库设置

我的公司正在考虑实施Git,但我对于设置它的最佳方式有疑问.我们有3个站点,并计划使用Gerrit2来创建镜像.我们的存储库大约2GB,我们想开始添加二进制文件.我担心空间使用情况.我不介意所有版本的二进制文件都存储在少数几个位置,但我想确保它们不会陷入克隆操作.

我知道Git使用硬链接,但我认为只有在每个挂载上放置一个存储库副本时才能使用.是否有更好的选择,如果有,有什么权衡?我正在看的选项是"--shared"和"--reference".

git

5
推荐指数
2
解决办法
2681
查看次数

Git与Dropbox问题

关于Git和Dropbox的问题.我在线使用各种教程设置了Git和Dropbox.当我推高我的项目时,我注意到Dropbox文件夹非常小(在本地计算机上为1mb vs 4).我很确定实际文件没有被推送到dropbox.这是正常的吗?

谢谢!

git dropbox

3
推荐指数
1
解决办法
4861
查看次数

标签 统计

git ×4

dropbox ×1

gitlab ×1

large-files ×1

version-control ×1