问题标签 [git-clone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2016 浏览

git - 尝试在 git 中克隆存储库,出现错误

我有两个盒子,一个是我的本地机器,另一个是我的开发服务器。现在我正在测试这种使用 Git部署应用程序的方法

我设置了本地存储库,添加了文件然后提交。我在 Windows 7 上,我的服务器是 Windows Server 2008。

服务器映射为 W:\ Drive,我的“裸”存储库和我的目标“模拟”生产文件夹作为子文件夹。- 我可以很好地访问每个,没有连接问题。

这是我为设置所有内容所做的:

  1. 本地目录 git 远程添加原点 w:\gitCentral

  2. 本地目录 git push origin master

  3. 键入 C:,然后键入 CD testDeployment

  4. 现在我在我的测试文件夹中。

    A. 我做 git clone w:/gitCentral

Cloning into gitCentral... done.
error: refs/remotes/origin/master does
not point to a valid object! error:
Trying to write ref refs/heads/master
with nonexistant object 559e2165845
06e14ebef1121059e9461a86dd4f8 fatal:
Cannot update the ref 'HEAD'.

0 投票
2 回答
1687 浏览

git - 为什么 Aptana 不允许通过克隆 git 存储库来创建新的 PHP 项目

我正在使用 Aptana 3 使用 phpfog 构建基于 PHP 的 Web 应用程序。我想通过从 phpfog 克隆我的 git 存储库来在 Aptana 中创建一个新项目,但这不是“php 项目”的选项。Aptana 只为“Rails”和“Ruby”项目提供此选项。有谁知道为什么?

我正在尝试按照此视频中的说明进行操作:http ://www.youtube.com/watch?v=21nq-xLvQtM

0 投票
3 回答
174 浏览

git - 你们都推荐什么来备份 git 工作区/克隆?

我需要一个包含未提交修改的备份,因为我的开发人员不喜欢经常提交。

0 投票
3 回答
34128 浏览

git - 为什么我不能从浅克隆推送?

命令git clone --depth选项说

为什么浅克隆有这个限制?为什么它只是一个补丁工作流程?

对于某些项目工作流程,我只需将来自单个分支的最新提交传递给编码器,然后让他们能够将push其(快进)开发到主服务器。这部分是为了安全、IP 保护和 repo 大小,部分是为了减少大型 repo 给幼稚的编码人员带来的混乱。是否有允许这样做的 git 工作流程?


更新:根据 Karl Bielefeldt 的回答,git checkout --orphan应该是正确的答案。但是仍然需要将该分支单独“克隆”给新用户,并能够有效地推送它。

手册页指出:

git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>] --orphan

创建一个新的孤立分支,命名为<new_branch>,开始于 <start_point> 并切换到它。在这个新分支上进行的第一次提交将没有父母,它将成为与所有其他分支和提交完全断开的新历史的根。

索引和工作树的调整就像您之前运行过一样git checkout <start_point>。这允许您开始一个新的历史记录,该历史记录记录一组类似于<start_point>通过轻松运行git commit -a以进行根提交的路径。

当您想从提交中发布树而不暴露其完整历史时,这可能很有用。您可能希望这样做以发布一个项目的开源分支,该项目的当前树是“干净的”,但其完整历史记录包含专有或其他受阻的代码位。

如果要开始记录一组与 中的路径完全不同的路径的断开连接的历史记录<start_point>,则应在创建孤立分支后立即通过git rm -rf .从工作树的顶层运行来清除索引和工作树。之后,您将准备好准备新文件、重新填充工作树、从其他地方复制它们、提取 tarball 等。

VonC 与 Junio 评论的链接很有趣。我认为手册应该在这种情况下提供指导,并允许正确的命令 [eg clone <branch> --options] 仅提取 repo 的相关部分。显然,push通过在历史底部有一些链接的提交和 SHA1 来增加成功的概率,这将锁定 repo 匹配。


更新 Git 1.9.0:发布说明 2014 年 2 月 14 日。

“过去禁止从浅克隆存储库中获取数据,主要是因为所涉及的代码路径没有经过仔细审查,我们也没有费心支持这种用法。此版本试图以更可控的方式允许对象从浅克隆存储库中传输出去(即接收器变成了一个具有截断历史的浅层存储库)。”

这对浅层克隆者来说是个好消息。下一步 - 可能是狭义克隆。

0 投票
2 回答
1442 浏览

git - git clone 不签出活动分支

我有一个远程裸存储库,其中包含两个分支“master”和“testing”,其中 HEAD 指的是“testing”。克隆此存储库时,git 会检查“master”,如果“master”和“testing”在同一修订版上(即 HEAD == testing == master)。只有当 'testing' 是一个(或多个)提交之后或之前, git clone 才会检查本地端的 'testing' 分支。我在 Mac OS X (10.6.8) 上用 git 1.7.5 试过这个。

附录:我刚刚对非裸存储库进行了同样的尝试:

现在回到根目录:

是“主人”!回到 repo A(我们仍在分支“测试”中):

现在“测试”是“大师”之前的一次提交。现在让我们再次克隆 A:

您可以通过返回 A,签出“master”并将其与“testing”合并来重新验证这种奇怪的行为(这样所有分支都具有相同的头部)。现在将 A 克隆到 D 中,并且 D 将在 master 上签出!

0 投票
2 回答
165042 浏览

performance - 使用 --depth 1 进行浅层克隆、创建提交并再次拉取更新是否安全?

中的--depth 1选项git clone

创建一个克隆,其历史被截断为指定的修订数。浅层存储库有许多限制(您不能克隆或从中获取,也不能从中推送或进入),但如果您只对历史悠久的大型项目的近期历史感兴趣,并且想要作为补丁发送修复。

但是我已经成功地完成了一个浅克隆,提交了一些更改并将这些更改推回(裸克隆)原点。

这对我来说很有意义——我的意思是为什么不呢?当克隆的 HEAD 在源中可识别时,我的提交在此之上,似乎没有理由。但手册上另有说明。

我喜欢浅克隆的想法 - 例如drupal核心:当我从7开始时,我不需要知道drupal 4中发生了什么。 - 但我不想在脚上开枪。

那么浅克隆、在其中开发提交、再次拉取以跟上来自源的更新是否安全?

0 投票
1 回答
399 浏览

git - 如何克隆或镜像 gitosis 服务器

我有一个其他人设置的工作 gitosis 服务器,我想在 Ubuntu 上使用 Virtual Box VM 设置复制该服务器,以便在更改实时服务器之前尝试修改它。我对实时 gitosis 服务器具有 root 访问权限,因此我可以 tar /home/git 目录并在需要时将其复制到我的 VM。

那么我究竟需要做什么来复制或镜像 gitosis 服务器呢?究竟需要从头开始复制或安装什么。我不是在谈论 apt-get 安装的软件包,而是在谈论 gitosis install 会做的事情。例如,我可以简单地从服务器复制 /home/git 并使用它,还是应该复制 /home/git 然后使用“git clone --mirror”替换存储库?

我还有什么遗漏吗?例如,如果服务器使用特殊脚本启动 git-daemon,我猜我也必须复制它。

0 投票
1 回答
577 浏览

git-clone - 克隆后无法立即恢复到较旧的提交(未进行任何更改)

我需要从 github 测试一些代码的旧版本(提交)。我做了 git clone 然后

&id 是我需要检查的版本的 ID。我收到了这个错误:

克隆后我没有对任何文件进行任何更改。

我究竟做错了什么?

0 投票
3 回答
3123 浏览

git - 如何有选择地克隆一个 git 存储库

我是 Git 新手。我想克隆一个大型远程存储库让我们说xyzcodebase。repo 的结构就像我有不同功能区域的 src 文件夹,如下所示。

因此,我在克隆时工作,Functional area 2我不想要Functional area 1(大尺寸)的代码,这将节省我的大量时间。所以克隆后Functional area 2我的本地存储库中只有源代码。

有没有办法完成对 git 存储库的这种选择性克隆?

在此先感谢您的帮助

0 投票
2 回答
250 浏览

git - 从 github 安装文件夹

我正在尝试为 Geany 安装 Rails 插件,这是 github 上的文件。存储库有一个目录/geany,我必须将其与我自己的~/.config/geany. 现在我可以手动复制文件,但我想保留链接以便更新。我看了两个git clonegit merge,但我真的不知道如何处理它们。

如何“合并”这两个目录?

(编辑)我想在我的计算机上合并文件的地方目前不是 git repo。它只是文本编辑器geany将使用的文件。

困难似乎在于不是/我要合并,而是/geany/文件夹的(内容)。

另外,我将如何使用 git 更新我的文件?