相关疑难解决方法(0)

如何让Git使用我选择的编辑器进行提交?

我更愿意在Vim中编写提交消息,但它在Emacs中打开它们.

如何配置Git以始终使用Vim?请注意,我想在全球范围内执行此操作,而不仅仅是针对单个项目.

git vim emacs commit-message editor

2362
推荐指数
17
解决办法
86万
查看次数

我应该使用SVN还是Git?

我正在开始一个新的分布式项目.我应该使用SVN还是Git,为什么?

svn git version-control

320
推荐指数
12
解决办法
27万
查看次数

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

有没有办法清理git?

似乎我的项目随着每个git变得越来越大commit/push.有没有办法清理我的git文件夹?

git

152
推荐指数
6
解决办法
17万
查看次数

如何收缩.git文件夹

我目前的基数总大约是.200MB.

但我的.git文件夹有5GB(!)的惊人大小.因为我把我的工作推到外部服务器,我不需要任何大的本地历史......

如何缩小.git文件夹以释放笔记本上的一些空间?我可以删除超过30天的所有更改吗?

非常感谢任何帮助:)

git

112
推荐指数
6
解决办法
5万
查看次数

具有多个项目的服务器的GIT存储库布局

我喜欢Subversion设置的方式之一就是我可以拥有一个包含多个项目的主存储库.当我想在一个项目上工作时,我可以查看该项目.像这样

\main
    \ProductA
    \ProductB
    \Shared
Run Code Online (Sandbox Code Playgroud)

然后

svn checkout http://.../main/ProductA
Run Code Online (Sandbox Code Playgroud)

作为git的新用户,我想在提交特定工作流程之前探索该领域的一些最佳实践.从我到目前为止所读到的,git将所有内容存储在项目树根目录下的单个.git文件夹中.所以我可以做两件事之一.

  1. 为每个产品设置单独的项目.
  2. 设置单个大型项目并将产品存储在子文件夹中.

产品之间存在依赖关系,因此单个大型项目似乎是合适的.我们将使用一个服务器,所有开发人员都可以共享他们的代码.我已经通过SSH和HTTP工作了这部分我喜欢的部分.但是,SVN中的存储库已经有很多GB的大小,因此在每台机器上拖动整个存储库似乎是一个坏主意 - 特别是因为我们需要承担过多的网络带宽.

我想,Linux内核项目存储库同样大,所以必须有一个正确的方法来处理这个用Git,但我还没想到它.

是否有使用非常大的多项目存储库的指南或最佳实践?

git

95
推荐指数
1
解决办法
6万
查看次数

git二进制差异算法(增量存储)是否标准化?

Git使用增量压缩来存储彼此相似的对象.

此算法是否已标准化并在其他工具中使用?是否有描述格式的文档?它与xdelta/VCDIFF/RFC 3284兼容吗?

compression git binary-diff vcdiff

50
推荐指数
3
解决办法
2万
查看次数

如何将git桥接到ClearCase?

我最近git svn很习惯和喜欢它.现在我正在另一个客户开始一个新项目.在该站点,选择的SCM是ClearCase.我没有找到git svnClearCase 的烘焙等效物.是否有人尝试使用git本地作为ClearCase的前端使用一些技巧,配置或脚本以及任何成功的衡量标准?如果是这样,请解释一下使用的方法?

git clearcase git-svn

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

用大文件Git

情况

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

可能的解决方案

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

    发现这个不起作用.

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

问题

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

git large-files gitlab

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

在Visual Studio中使用Git的最佳实践?

我正在考虑在工作中从Subversion迁移到Git,并希望了解在Windows上设置Git的最佳方法,以及Visual Studio和Git组合可能产生的任何问题.

目前的设置是TortoiseSVN,Visual Studio 2008和AnkhSVN for .NET应用程序.替换可能是Git Extensions.

有关存储库布局的建议将特别受到赞赏.我们所有的解决方案都使用多个项目,现在我们需要在应用程序之间共享许多自定义程序集.我们的Subversion存储库的当前布局肯定不是最佳的.

更新:我现在使用Git Extensions迁移到Git,它运行得很好.共享代码和资产位于不同的存储库中,并用作子模块.当我开始时,我发现子模块有点混乱,这篇文章非常有帮助.

.net git visual-studio

31
推荐指数
2
解决办法
1万
查看次数