当前位置: 首页 > 知识库问答 >
问题:

将本地目录与现有git存储库同步

陆仲渊
2023-03-14

这个标题听起来像是重复的,但我找不到我这个问题的答案。

我想在本地计算机上克隆一个git存储库。但是,当我尝试使用shell执行此操作时,我会得到一个错误。大多数文件都被签出了,但由于某种原因,其中一个图像文件引起了麻烦,我得到了错误“致命:无法签出工作树”和“警告:克隆成功,但签出失败”。所以我现在所做的是从github下载repo文件作为一个zip文件,并将它们解压缩到我的本地目录中。所以现在我的本地目录中有了所有的文件,但是本地目录没有连接到GitHub上的repo。有没有一个命令可以完成这件事?

共有1个答案

戴霖
2023-03-14

这个问题似乎不完整。在这种情况下,git clone的输出应该如下所示:

<some errors specific to your situation here>
...
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

首先,特定的错误(在fatal:...上面的消息中)应该有助于理解发生了什么以及如何修复它。

其次,您可以按照说明操作,运行git status查看签出了什么,然后尝试git checkout-f head来修复它。

其他的?最好在问题中包括。下面的技术可能会起作用,也可能不起作用,如果不知道确切的原因,我就无法判断。

失败的Git克隆的结果应该是一个至少部分完成的工作树。由于存储库来自GitHub,您可以下载内容的zip,因此您可以在失败的克隆上解压缩。这样做的结果应该是一个内容与master相匹配的工作树,您也将拥有Git历史记录,正如“克隆成功”消息所暗示的那样。git status可能会报告一些更改,这可能是由于符号链接被常规文件替换,或者不同的文件系统权限所致,但这似乎是您的问题想要达到的状态。

作为获取存储库历史记录的另一种替代方法,您可以将下载的zip初始化为新的Git存储库,添加远程存储库,获取并重置到它:

unzip project.zip
cd project
git init
git remote add origin url_on_github
git fetch origin
git reset origin/master
git status
 类似资料:
  • 我和常春藤开始了新的生活。 我有一个本地Git Repo,我把罐子存放在那里。我使用Ant进行构建。 在蚂蚁中,我可以将哪个解析器与Git和常春藤一起使用。需要什么设置才能实现此目的。

  • 我尝试在本地运行此存储库 我安装了git,但当我运行此命令时: 编辑运行另一个命令时收到此错误:

  • 我认为应该可以将要重命名的目录复制到一个具有所需名称的新目录中,并删除旧目录,以及、和所有内容。但这是最好的办法吗?

  • 我有一个git远程存储库,上面有用户名和密码。 当我克隆我的存储库时,因为它有很多子存储库内部。每次我都必须输入我的用户名和密码。 我可以从git服务器读取。 如何永久存储我的用户名和密码以使用远程存储库?

  • 问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示: