当文件夹和文件已经存在时克隆git存储库

时间:2019-01-17 18:52:11

标签: git git-clone git-checkout

我当时在2台计算机上工作,交替使用我用的一台计算机,每次都在它们之间移动整个东西。然后,我在计算机A上安装了git并将其与github存储库同步。到目前为止,一切都很好。

现在我想将其克隆到计算机B,但是git clone不起作用,因为文件夹和文件已经存在。

这就是我在计算机B上所做的:

git init
git remote add origin <my-github-rep.git>
git fetch

现在,我需要从github那里获取最新文件。

git reset origin/master

我认为这是将当前HEAD重置为指向原点上的master分支的原因。

好的,现在是问题所在:

我认为此时我需要满足以下条件:

git checkout -t origin/master

因为这将带走所有来自源的最新文件,并且整个内容都将在计算机B上签出。这是我想要的,但它不起作用。这是错误消息:“ 致命:名为'master'的分支已经存在。

我如何克服这个问题,而只是带上文件?我做错了什么。

(澄清一下:我不想只是删除文件夹和文件而只是克隆存储库,因为其中还有更多文件不应该放在git上,因此很难选择;此时,我要从远程存储库中的最新文件中覆盖本地文件夹中的所有相关文件-这样,我将拥有最新的代码,而不会被git跟踪的文件将不会受影响)

2 个答案:

答案 0 :(得分:1)

您的lib/**/__mocks__/**命令创建了名为git reset的分支。它已经指向正确的提交。问题在于您现在拥有一个已填充的索引,但是没有一个正确填充的工作树。

这时最简单的解决方案是将所有要保留的文件 完全移出该目录,例如master,然后mkdir ../save将其移出的方式。然后,您有一个 empty 当前工作树,mv * ../save将向您显示所有文件都已删除,但未暂存以提交。然后,您可以执行git statusgit reset --hard将所有文件放回,然后执行git checkout -- .将保存的文件放回原位。

到那时,剩下的一个问题是您本地的mv ../save/* .没有上游。要解决此问题,只需运行:

master

您将全部准备就绪。

答案 1 :(得分:-2)

git branch                          <-- view list of branches>
git checkout master                 <-- switch branch to master>

如果此剂量有效

git branch -d branch_name           <-- delete the specified branch locally>

要克隆新的本地分支代码

git config --global                 <-- followed by the user id or name>
git clone repo_address.git          <-- repo_address.git is the repository url>