如何在没有git-clone的情况下获得一个git项目?

时间:2010-08-09 23:28:54

标签: git

我正在尝试使用git。我们的项目位于具有基础开发系统的目录中。我已经为自己设置了很棒的功能,但我无法将这些文件交给我的合作者。

我们不能做一个git clone,因为它必须克隆到一个空目录。

我尝试在其中一个系统的dev目录中初始化存储库,向我的repo添加一个远程,然后运行git-fetch。它做了大量的计算和下载,但最终,.git /最终得到了很多东西,但dev目录中的文件保持不变。 ls-files什么都没有显示。

我希望fetch能够下拉所有文件。我在这里误解了什么?

3 个答案:

答案 0 :(得分:2)

git fetch只会更新您的dev repo的远程命名空间 它的工作树将保持不变(即“空”,除了已存在的所有旧文件和私有文件)

你试过git pull吗? 它会将远程内容的 git merge git提取到您的主分支中,同时填充您的工作树。

答案 1 :(得分:0)

目前还不清楚你在这个问题中描述了什么。你已经有git存储库设置吗?如果'是',那么你无法克隆它的确切原因是什么?如果'不',那么首先想到你需要做的是:

cd project/
git init
git add --all
git commit -m "Initial commit"

答案 2 :(得分:0)

使用git-bundle可以将整个回购内容传输到存档中。

docs

  

某些工作流程要求在一台计算机上的一个或多个开发分支在另一台计算机上进行复制,但这两台计算机无法直接连接,因此无法使用交互式git协议(git,ssh,rsync,http)。此命令提供对git fetch和git pull的支持,通过在原始计算机的归档中打包对象和引用来操作,然后在通过某种方式移动归档后使用git fetch和git pull将它们导入另一个存储库(例如,通过sneakernet) 。由于存储库之间不存在直接连接,因此用户必须为目标存储库保存的包指定基础:包假定基础中的所有对象都已存在于目标存储库中。