13

我喜欢使用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 主机问题,以通过本地网络共享存储库。
4

3 回答 3

15

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

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

对于本地网络,Windows 共享或其他文件共享可能会起作用。

但是,简单的方法只是工作,不是最好或合适的方法。GitHub 上没有拉取请求、问题跟踪、权限控制功能。管理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 的父目录

看:

于 2013-11-18T04:37:20.840 回答
3

--local如果我正确阅读了您的问题陈述,您可以像这样使用克隆命令上的开关简单地将本地 git 存储库克隆到另一个文件夹中

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

在哪里

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

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

开关说明:

- 当地的

当要克隆的存储库位于本地计算机上时,此标志绕过正常的“git 感知”传输机制,并通过复制 HEAD 以及 objects 和 refs 目录下的所有内容来克隆存储库。.git/objects/ 目录下的文件被硬链接以尽可能节省空间。

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

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

--无硬链接

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

有关更多详细信息,请参阅文档

更新 1

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

有用的 GitStack 资源:

  1. GitStack安装说明
  2. 链接到Github 上的 GitStack源代码
于 2013-11-12T17:07:49.357 回答
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-服务器上

于 2013-11-12T17:07:56.710 回答