如果我推送一个克隆的回购,它会拥有克隆回购的所有内容吗?

时间:2011-08-14 13:34:43

标签: git github

我和Git有点混淆了!

  • 我将GitHub上的回购邮件克隆到本地驱动器
  • 我做了一些更改并致力于我的本地回购
  • 此时,我无法弄清楚如何将我的本地仓库克隆到新的GitHub仓库,所以我去了GitHub.com并用他们的网络界面创建了一个新的仓库
  • 然后我做了git-push MyNewRepoOnGitHub master

MyNewRepoOnGitHub是否包含我最初克隆的所有内容?我可以向我最初克隆的项目的贡献者发送拉取请求吗?或者......我是否已经完全沉重,需要重读我认为我对Git的了解?!

2 个答案:

答案 0 :(得分:3)

您在github上的新存储库将只包含从master可以访问的所有提交(您只推送了主服务器)。要推送所有引用(包括标记),请使用git push MyNewRepoOnGitHub --all

我自己不使用github,但拉取请求应该是可能的。克隆或推送时,提交不会改变(但github可能需要您先“分叉”项目)。从您的克隆存储库中提取和合并肯定会有效(使用普通的git)

答案 1 :(得分:2)

我认为你必须明确地“分叉”原始仓库以提出拉动请求。 Github目前不知道您的MyNewRepoOnGitHub与您克隆的原始回购有关。 Forking建立了这种关系,允许引发拉取请求以共享提交。

你可以:

  1. 分叉您克隆的原始仓库
  2. 将forked repo设置为另一个远程存储库(用于计算机上现有的克隆存储库)

       git remote add MyForkedRepo <url-to-your-forked-repo>
    
  3. 将您的更改推送到分叉回购

       git push MyForkedRepo master
    
  4. 在Github上提出拉取请求

  5. 没有分叉,有两种方式,虽然与拉请求方法相比非常古老,

    1. 原始的回购提交者/所有者必须将您的MyNewRepoOnGithub添加为他的远程并提取您的更改并合并它们并将其推送到原始回购
    2. 您通过电子邮件向原始回购所有者发送补丁,并代表您申请并承诺回购