我有一个项目的工作副本,没有任何源控制元数据。现在,我想把git-clone复制到这个文件夹中,并保留我的本地更改。

Git-clone不允许我克隆到现有的文件夹。这里的最佳实践是什么?


当前回答

要将一个git repo克隆到一个空的现有目录,请执行以下步骤:

cd myfolder
git clone https://myrepo.com/git.git . 

注意。在git克隆命令的末尾。这将把repo下载到当前工作目录中。

其他回答

git clone your_repo tmp && mv tmp/.git . && rm -rf tmp && git reset --mixed
git init
git remote add origin git@github.com:<user>/<repo>.git
git remote -v
git pull origin master

通常我将首先克隆初始存储库,然后将现有文件夹中的所有内容移动到初始存储库。每次都管用。

这种方法的优点是您不会丢失初始存储库的任何内容,包括README或.gitignore。

您也可以使用下面的命令来完成步骤:

$ git clone https://github.com/your_repo.git && mv existing_folder/* your_repo

这是我遇到的所有方法中最好的

只克隆存储库的.git文件夹(不包括已经在exists -dir中的文件)到一个空的临时目录

Git clone——no-checkout repo-path-to clone exists -dir/ exists -dir.tmp //可能需要——no-hardlinks用于克隆本地repo

将.git文件夹移动到文件所在的目录。 这使得exists -dir成为一个git回购。

mv existing-dir / existing-dir.tmp /。git existing-dir /

删除临时目录

删除目录existing-dir / existing-dir.tmp cd existing-dir

Git认为所有文件都被删除了,这将回购的状态恢复到HEAD。

警告:对文件的任何本地更改都将丢失。

git重置-混合头部

如果您正在克隆相同的存储库,那么在现有的存储库中运行以下代码片段

git pull origin master