设置本地git存储库

时间:2013-11-07 15:36:45

标签: git ssh git-clone git-remote

我喜欢使用GitHub作为我的项目文件存储库。但是如果我能够在不同的目录路径上在这台计算机上创建一个存储库,那么我会更感兴趣。然后克隆在我的新工作目录上创建存储库。

我打算在本地制作GitHub 。我一直在寻找这个,很多人回答说我应该使用gitolite等等。我正在使用Windows的问题,我想使用命令行执行所有步骤。

我应该输入哪些命令行来在工作目录以外的其他目录上创建存储库,并能够将该存储库克隆到本地网络中的其他终端。


将终端连接到Windows主机

我已经创建了一个存档目录,其路径为Users\username\GIT\project.git。 我正在尝试使用命令行git clone file://{IPv4 server address}/Users/username/GIT/project.git返回

链接我的终端
fatal: '/{IPv4 server address}/Users/username/GIT/project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我该如何解决这个问题?我的主机在Windows 7上运行,我的连接终端将使用Ubuntu 12.04 LTS和MacOS Mavericks。


更新跟踪

  1. 更新了我的问题正文。我不知道应该遵循哪些步骤。
  2. 已插入 LINKING TERMINAL至Windows Host 问题,以便通过本地网络共享存储库。

3 个答案:

答案 0 :(得分:13)

也许你问简单的方法来创建git repo和本地克隆?

  1. 使用git init --bare
  2. 创建git repo
  3. 使用git clone --local /path/your/local/repo/
  4. 从其他地方克隆

    对于本地网络,Windows共享或其他文件共享可能有效。

    但是,简单的方法就是工作,而不是最好或最合适的方式。 GitHub上没有pull请求,问题跟踪,权限控制功能。 对于管理git commit或其他复杂的工作,你需要一个管理系统, 如gitolite,gerrit,有些可能无法在windows系统上运行。

    如果你只需要一个免费的私人仓库,你可以使用bitbucket。

    从Windows分享克隆:

    git clone file:////{IPv4 server address}/share_name/path_to_your_.git_dir
    

    在主机上,您必须与'share_name'共享repo目录,例如:repo.git的父目录

    见:

答案 1 :(得分:2)

如果我正确阅读了您的问题陈述,您可以使用克隆命令上的--local开关将本地git仓库克隆到另一个文件夹中,如下所示

git clone --local /git/source_repo/project /home/username/workdir/project

其中

/git/source_repo/project是回购的安全副本(如果您愿意,请将其称为您的个人GitHub)。

/home/username/workdir/project是您的工作文件夹。它可以是您想要频繁提交的任何文件夹

切换说明:

  

<强> - 本地

     

当要克隆的存储库位于本地计算机上时,此标志会绕过正常的“git aware”传输机制,并通过制作HEAD副本以及对象和refs目录下的所有内容来克隆存储库。 .git / objects /目录下的文件是硬链接的,以便在可能的情况下节省空间。

     

如果将存储库指定为本地路径(例如,/ path / to / repo),则这是默认值,而--local本质上是无操作。如果将存储库指定为URL,则忽略此标志(并且我们从不使用本地优化)。指定--no-local将在使用常规git传输时给出/ path / to / repo时覆盖默认值。

     

强制复制而不是硬链接(如果你试图备份你的存储库,这可能是合乎需要的),但仍然避免使用通常的“git感知”传输机制,可以使用--no-hardlinks。

     

<强> - 无硬连接

     

通过复制.git / objects目录下的文件,从本地文件系统上的存储库优化克隆过程。

有关详细信息,请参阅documentation

更新1

要在Windows上设置Git服务器,您可以尝试使用名为GitStackcommercial(开源)软件。

有用的GitStack资源:

  1. GitStack Installation Instructions
  2. 指向GitStack on Github
  3. 的源代码链接

答案 2 :(得分:1)

要创建本地裸存储库,该命令实际上非常简单:

git clone --bare my_project my_project.git
Initialized empty Git repository in /my/projects/my_project.git/

只要您在本地使用这些(例如,从USB附加存储设备或其他东西),这就是它的全部内容。您只需将命令指向该回购,即克隆,推送,拉动等等。但是,有人可能会问您为什么要做这样的事情。

这些说明适用于在服务器上进行设置,但我发现这些说明对于创建本地回购也很有帮助:http://git-scm.com/book/en/Git-on-the-Server-Getting-Git-on-a-Server