有没有一种方法将一个git仓库合并到一个现有的目录中?

3

我在VSTS中配置了一个名为MyRepoX的仓库。这个仓库只有一个readme文件。我有一个本地的VisualStudio解决方案,我想将其包含在目录中,然后我需要确保这两个源在推送和拉取时保持同步。我可以采取哪些步骤来完成这个任务?


你按照Daniel的方式成功地将现有目录中的更改提交并推送到VSTS git仓库了吗? - Marina Liu
2个回答

11

您需要将本地文件夹转换为Git存储库,添加远程仓库,然后同步两者。

在您的本地文件夹中,

git init
git add .
git commit -m "initial commit"
git remote add origin url-to-remote-repo
git fetch origin master
git branch --set-upstream-to=origin/master master
git pull --rebase
git push

在你进行这些操作之前,我也建议你添加一个标准的Visual Studio.gitignore,以防止二进制文件/包存在于您的版本库中。


太好了,这个可行。你能解释一下 fetch 和 branch 步骤的原因吗?我是 Git 新手,想更好地理解为什么要在这种情况下这样做。 - Kanishk Mair
最近,我的一个git仓库出现了损坏,而且出现了奇怪的情况,它一直说主分支还没有创建。使用fetch origin masterbranch --set-upstream-to=origin/master mastergit pull --rebase为我解决了这个问题。尝试先提交未跟踪的文件意味着我必须在rebase期间跳过该提交。 - JRad the Bad

2

Daniel Mann的回答很好,但另一种方法是将存储库克隆到新文件夹中,然后只需将源文件复制到其中:

git clone http://my.repo.url/

这个git命令将把仓库克隆到一个与仓库同名的新文件夹中。您需要确保包含源代码的文件夹具有不同的文件夹名称。
然后只需将您的源文件复制到新克隆的文件夹中,并运行以下Git命令:
git add .
git commit -m "initial commit"
git push

我完全同意丹尼尔的建议,在执行"git add ."之前应该添加一个.gitignore文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接