Git:为什么克隆必须在不存在的/空目录中完成?

时间:2014-04-27 05:14:30

标签: git bitbucket

我有一个现有项目,我想分享并推送到远程BitBucket git存储库。 我在BitBucket上创建了一个存储库,必须克隆它:

git clone https://myusername@bitbucket.org/myusername/myproject.git

但是我收到以下错误消息:

  

致命:目标目录'/ path / to / myproject'已经存在。

所以我必须删除文件和项目目录,克隆存储库,然后再将文件粘贴到项目中......或者我做错了什么? 为什么我不能简单地克隆到非空目录并添加/提交现有文件?是什么原因?

PS:我在Windows上。

3 个答案:

答案 0 :(得分:4)

如果您有现有项目,可以通过设置远程位置并将其推送来与存储库同步。

如果您没有现有项目,可以使用以下命令轻松创建项目:

$ cd /path/to/my/local/project
$ git init
$ git add *
$ git commit -m "My initial commit message"

来自名为&#34的BitBucket页面;推高现有存储库"创建新回购时显示的内容:

$ cd /path/to/my/local/repo
$ git remote add origin git@bitbucket.org:mike/myrepo.git
$ git push -u origin --all # pushes up the repo and its refs for the first time
$ git push -u origin --tags # pushes up any tags

在此之后,您可以像通常那样pushpull

答案 1 :(得分:3)

git clone用于下载您的回购邮件的副本。

请参阅documentation

  
    

将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch -r可见),并创建并检出从克隆分叉的初始分支存储库目前活跃的分支

  

如果您不希望拉出最新的活动分支,正如您只是将文件粘贴回项目所示,请使用git initDocumentation

  
    

git-init - 创建一个空的Git存储库或重新初始化现有的存储库

  

然后,您需要将BitBucket仓库的端点添加到本地仓库。 BitBucket解释了这个过程here

答案 2 :(得分:0)

我认为你错了。 “克隆”存储库意味着将其所有内容复制到您选择的空文件夹中,以便稍后可以从那里推送,拉动等。这通常是您开始处理新存储库时的第一步。

现在,如果您对计算机上的repo中的文件进行了一些更改,并且您希望它们也适用于在线仓库,则需要“添加”这些更改,然后“提交”它们并最终“推送”他们(通过Git Shell / Bash)

所以我通常做的是:  转到我的存储库目录(通过shell)并输入:

git add *
git commit -a -m "MyCommitMessage"
git push

然后它会询问您的用户名并通过,然后您就完成了。