![将 git repo(.git 目录)克隆到现有的“工作”目录(未跟踪)](https://linux22.com/image/1640752/%E5%B0%86%20git%20repo%EF%BC%88.git%20%E7%9B%AE%E5%BD%95%EF%BC%89%E5%85%8B%E9%9A%86%E5%88%B0%E7%8E%B0%E6%9C%89%E7%9A%84%E2%80%9C%E5%B7%A5%E4%BD%9C%E2%80%9D%E7%9B%AE%E5%BD%95%EF%BC%88%E6%9C%AA%E8%B7%9F%E8%B8%AA%EF%BC%89.png)
我在切换计算机时备份了我的“Code”文件夹,但我的(自定义)备份工具没有复制.git
文件夹。因此,我的文件夹(通常)具有最新的工作目录,但 git 不会以任何方式跟踪这些文件夹。
对于已推送到远程的存储库,我可以仅“克隆”目录.git
并将我的文件夹转换为实际的本地 git 存储库吗?
我已经尝试过的:
git init
然后添加远程,fetch
并尝试以各种方式合并或重新定基(新的 repo 是空的,因此甚至没有一个提交)git clone --bare ...
到另一个文件夹,然后将该文件夹重命名为.git
。git
不认为工作目录甚至是 git repo。
答案1
针对这种情况我通常的做法是:
- 将仓库克隆到一个新的文件夹中
foobar
,确保我已签出正确的分支 - 删除
.git
文件夹以外的所有内容 - 将现有文件复制到
foobar
文件夹中
如果在替换 repo 内容之前没有检出正确的分支,您仍然可以使用git reset
命令选择分支。