从bitbucket克隆一个repo,想在github上创建一个新的

时间:2018-04-01 10:36:56

标签: git github

我在一段时间后从bitbucket克隆了一个回购,我想从我当前的版本在我的github帐户上创建一个新的回购。但是当我尝试创建一个新的repo时,我收到一条错误,指出该目录已经是一个git文件夹。我正在使用github桌面。如何从中创建新的回购?

5 个答案:

答案 0 :(得分:1)

看看你的.git / config文件。有一部分可以解释遥控器的位置:

[remote "origin"]
    url = git@github.com:sensorario/a-github-repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

如果您想添加新的远程

[remote "github"]
    url = git@github.com:sensorario/a-github-repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[remote "bitbucket"]
    url = git@github.com:sensorario/a-bitbucket-remote.git
    fetch = +refs/heads/*:refs/remotes/origin/*

然后按

git push github master

当你在github或bitbucket中创建新的存储库时,你只需要一个"裸存储库"。这里是difference between bare and non bare repository;

所以,......你要做的只是:

  • 在github.com上创建存储库
  • 在配置中添加新的遥控器
  • 推入一个或其他裸存储库

答案 1 :(得分:0)

所以你的问题是你的本地git repo实际上是与你的GitHub和BitBucket 遥控器完全独立的实体。

在github.com上设置您的GitHub仓库,然后使用SSH / HTTPS URL。

然后导航到本地存储库并执行

git remote add github https://github.com/user/repo.git

(用您的SSH或HTTPS网址替换https://github.com/user/repo.git

然后

git push github --all

将所有本地分支推送到github

如果你想停止使用BitBucket repo并且只使用GitHub,你可以代替git remote add命令:

 git remote set-url origin https://github.com/user/repo.git

(用您的SSH或HTTPS网址替换https://github.com/user/repo.git

答案 2 :(得分:0)

一种选择是在github.com上手动创建存储库。然后复制repo的URL并在您选择的shell中运行git remote add github url在本地存储库的根目录中,其中url是您复制的GitHub repo URL。这会添加一个名为github的新远程存储库,因此您的计算机git现在知道有两个远程存储库

现在您可以选择要从哪个远程存储库推送或拉出。 BitBucket可能名为origin。您可以通过运行git remote -v来验证这一点。如果您想将本地分支推送到github,请检查该分支并执行git push github

如果github尚未了解该分支,请使用git push --set-upstream github branch-name一次远程创建新分支。

我不使用GitHub Desktop,但我认为在完成上述步骤然后在GitHub Desktop中打开根目录后,它就可以了。但是,GitHub Desktop可能假定GitHub的远程存储库在本地名为origin。如果是,您可以将origin重命名为bitbucket,将github重命名为origin

答案 3 :(得分:0)

我认为你想要创建的“repo”是一个只涉及远程服务器的概念。由于您已将存储库克隆到本地,因此无需在本地重新创建新存储库。

首先,登录github并在浏览器中创建一个新的远程存储库。假设你的github用户名是“foo”,你已经创建了一个名为“bar”的新远程存储库。

打开终端,将目录更改为本地git项目文件夹并键入

git remote add gitrepo https://github.com/foo/bar

然后(如果你在master

git push gitrepo master 

就是这样。

答案 4 :(得分:-1)

如果您不想保留git历史记录:

  1. 转到https://github.com/new(如果需要,请登录)
  2. 使用您想要的名称创建一个新的仓库
  3. 将其克隆到您的计算机(git clone ...
  4. 将bitbucket repo文件夹的内容复制/移动到这个新的github repo文件夹,但没有git文件(.git文件夹)
  5. 添加所有内容(git add .
  6. 提交(git commit -m 'Your commit message'
  7. 将其推送到github(git push
  8. 编辑:
    根据评论,似乎OP不希望新的回购,但只是想将此回购移动到另一个服务并保留历史记录。在那种情况下:

    如果您想保留git历史记录:

    1. 转到https://github.com/new(如果需要,请登录)
    2. 使用您想要的名称创建一个新的仓库
    3. 将其克隆到您的计算机(git clone ...
    4. 更改来源的网址(git remote set-url origin [your_github_repo_url](更多信息:https://help.github.com/articles/changing-a-remote-s-url/