我最近开始使用Git / SourceTree / Bitbucket。我可以安全地将本地Git存储库移动到我硬盘中的其他位置吗?
由于Git忽略了一些大文件,我无法从远程存储库中提取存储库以获取所有文件的精确副本。
如果我只是将包含.git的主目录移动或复制到其他地方,是否会导致Git混乱?如果绝对路径对Git很重要,我猜它会,但我不确定。
答案 0 :(得分:18)
不,移动或复制.git/
文件夹不会导致git出现问题; git没有以任何方式连接到你的repo,git不关心绝对路径,只关心项目文件夹中的相对路径。
Git只是您计算机上的可执行文件。它可以在任何地方运行,只要它在你的路径中。我经常将各种.git/
文件夹拖到不同的地方,甚至拖到我的拇指驱动器上(通常我拖动整个存储库文件夹,但我也只是自带了.git/
文件夹)。关于git的好处是,关于你的repo的所有内容都在该文件夹中。您甚至不需要随身携带工作树文件。如果将.git/
文件夹或副本放到另一个文件夹中,则可以在该文件夹中git checkout master
,git将在那里重建工作树。
这是一切都是数据的好处。 Git根本没有附加到您的存储库。你只需要调用git就可以在你的存储库上工作来创建或更改那里存在的数据,然后再让它完全重新开始。
请记住,您可以克隆自己的本地仓库:
$ git clone oldrepo newrepo
Git会将oldrepo
复制到newrepo
(newrepo
可以是本地文件系统中任意位置的路径),在此过程中创建该文件夹。此外,newrepo
会自动添加一个遥控器origin
- 指向oldrepo
,因此您可以在oldrepo
中工作,然后在newrepo
中获取它{1}}文件夹。如果您不想要那个遥控器(它是无害的),您可以在新的仓库中进行git remote rm origin
。如果要将复制的repo挂钩到服务器,请执行git remote add origin <url>
。如果您不确定网址是什么,请在git remote -v
中执行oldrepo
并从那里复制网址。