.git文件夹跨平台吗?

9
如果使用Linux创建的.git文件夹被复制到Windows,它能正常工作吗?

@Shep 因为我在一个超级大的代码库中使用git-svn,复制我的.git文件夹可以节省我几个小时的时间。 - André Puel
3个回答

9

没问题,我自己也这样做——在两台装有Linux和Windows的计算机上工作,.git目录通过Dropbox进行同步,绝对没有任何问题 :)

顺便说一句——.hg同样适用。


看起来是一个奇怪的工作流程...那么整个工作树也被Dropbox同步了吗? - Shep
好吧,这是我的硕士论文,所以它不是很大的项目。但我在小的Java项目等方面都这样工作过,在那里我没有将其推到任何地方,只是在本地存储库上工作。当项目很小的时候,这很有趣和容易 :) - Bugari

2
是的,我在Linux上使用gitflow扩展和msysGit + TortoiseGit在Windows上使用它很好地使用了`.git`文件夹。
但是要非常小心反向操作。通过从Windows复制git文件夹到Linux中,会有以下问题:
1. 许多Windows回车符在文件中 2. 文件权限更改
在Windows上MsysGit可以很好地管理它,但是在Linux上,在提交/推送之前,您必须:对于第一个问题使用dos2unix,对于第二个问题在文件上使用`chmod 644`。`git status`和`git diff`将帮助您。

0

没问题,我在Windows和Linux系统上使用同一个存储库,一切正常。当你在Git Windows上工作时,每次推送到远程的Linux存储库,git都会将行尾从Windows样式转换为Linux样式。


当然可以,但这似乎不是 OP 所问的。如果我没记错的话,.git 目录是直接被复制的,而不是克隆/推送/拉取。 - Shep
我觉得 Git 不会改变行尾符号,很可能是你的文本编辑器/集成开发环境改变了行尾符号。在 Git 配置中,你也可以设置忽略对行尾符号的更改。可参考网址:http://help.github.com/line-endings/ - jimiyash
Git会在添加文件时更改行尾,但仅在配置设置要求时才会更改。当检出文件时,类似的过程也会发生。对于混合环境,通常情况下,存储库中的设置为Linux LF样式,而Windows系统则会进行它们所期望的更改。复制.git目录不会更改存储库内容的常见设置。 - Philip Oakley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接