2011-08-26 157 views
63

我刚开始在Vista中使用git,我的存储库在/path/to/project/git repo下。如何重命名git根文件夹?

我现在发现在git bash中工作时文件夹名称中的空间是一个小毛病。

我可以将文件夹重命名为/path/to/project/gitrepo吗?一切都在git配置相对,还是有什么明确指向父文件夹?

我已经尝试过只需要一个主文件夹的窗口副本,并运行git bash就可以了,'git log'显示我之前做过的更改。所以我假设重命名主文件夹是可以的,但是我想在进一步之前确定。

回答

42

要修改略有Greganswer,是的,一切都与一个混帐回购协议是相对父.git目录,但:

(这不会可能直接影响到你,我只在这里提到的那些原因为了完整的缘故)。

  • 回购本身的路径可以通过在计算机上运行的其他服务引用(Apache的,SSH,另一个回购宣告你的回购作为远程使用完整的文件路径, gitolite层声明您的回购处于某一特定路径,...)
  • 某些操作使用回购的完整路径(例如GIT_INDEX_FILEfilter-branch命令中使用,例如参见this thread),所以显然,在对回购执行复杂操作时,不要重命名根目录。

另外,一个“窗口复制”(而不是git clone),将复制的一切,包括挂钩,如果您已经编辑他们搞得那些一种修改可能包括在他们的脚本绝对路径。

+2

所以如果有人有切实可行的步骤来确保这样做,那将是非常可行的。 – ahnbizcad

+0

@gwho在重命名repo文件夹旁边的步骤是什么? – VonC

67

是的,重命名包含Git存储库的文件夹是安全的。 Git仓库中的所有路径都是相对的。

+0

辉煌,谢谢。 –

5

在我看来,最好是使用git的工作流程,尤其是当你使用Git服务器(远程主资料库),这意味着:

  • 得到同步旧目录与你的git服务器(git pullgit push,最后git status,看看是否一切都很好)
  • git clone <former directory> <new directory>

(由于我也是新GIT,这可能不是完整的,正确的答案。我有和米克一样的问题,为了学习的目的,我尝试着用git的方式来做:)谢谢你的提示,vonC!请纠正我,如果需要:)

+1

如果你'克隆<以前的目录><新目录>',你不需要先创建'<新目录>'。 'git clone'会为你创建它。 – VonC

+0

@VonC:thx,我改变了这个 – PythoNic

+1

我不认为这是你想要的。 这将'<新目录>的原点设置为'<旧目录>'。 因此,'<新目录>'中的'git remote -v'会显示'origin C:/ old/directory'。 – kvu787