无法将我提交的分支推送到我的克隆github分支,我找不到我的github分支

时间:2014-07-29 16:41:17

标签: eclipse git github egit

我很困惑。我还是git和github的新手。

差不多一个月前,我创建了一个“Gradle”github项目的分支,以便处理一些用户指南修复。我把叉子克隆到桌面上,然后创建了一个分支来完成我的工作(我不确定我先做了哪一个)。

我正在使用Egit插件在Eclipse中完成大部分工作。

今天我决定完成了我的改动。我承诺了所有这些,但我只选择“提交”,而不是“提交和推送”。然后我将我的分支重新定位到本地“主”分支并进行了一些测试。

然后我尝试将我的更改推送到上游,但我意识到Eclipse并没有给我这个选项。 “推送到上游”选项现在显示为灰色。有一个“Push Branch ...”选项,但我不知道那是什么。

我还决定在Github上查看我的fork,看看我是否可以看到它的内容,现在我在Github上找不到它。我真的很困惑。

更新

我想很明显我忽略了先做分叉,所以我只克隆了主项目。

那么,为了达到理智的状态,我能做的最痛苦的手术是什么?

我想这将从实际分配项目开始。那么我可以将本地项目更改为指向fork然后推送到上游吗?

如果可以,请注意本地项目的属性具有“remote” - >“origin”部分,具有以下属性: * fetch:+ refs / heads / :refs / remotes / origin / *网址:https://github.com/gradle/gradle.git

我会更改网址属性吗?

2 个答案:

答案 0 :(得分:1)

  

我想我很清楚我先忽略了叉子,所以我   只克隆了主要项目。

     

那么,为了达到理智,我能做的最痛苦的手术是什么   状态?

首先,确保您实际上已经分叉了Gradle存储库。如果您的用户名为my-github-username,则http://github.com/my-github-username/gradle应该有一个存储库。

然后,假设您的GitHub用户名为my-github-username,而您正在处理的分支机构名为my-branch-name,我建议:

  1. git remote add my-github-username git@github.com:my-github-username/gradle.git
  2. git push my-github-username my-branch-name
  3. #1将您的分支添加到您的存储库的起源,#2将您的更改推送到您的分支机构。从那里,您应该能够访问您的GitHub分支,并且会提示您可以创建拉取请求。

答案 1 :(得分:0)

  

我不确定我先做了哪一个

更可能的情况是你在本地克隆了你的repo并使用Egit来创建一个新的分支(这是一个很好的习惯,如果你是git的新手,那就不值得这样做了。)

我不熟悉EGit,但似乎它不知道在哪里推动:

  • 推送到上游:将本地分支推送到远程,将远程分支集更新为本地分支的上游。
  • 推送分支:将本地分支推送到远程,如果没有上游设置,则创建一个新的远程分支,它将成为本地分支的新上游分支。

关于你的最后一点:如果它没有显示在该URL上,则表示它不再存在:

https://github.com/{your_name}?tab=repositories

解决方案是重新编译并更新远程URL。

<强>更新

分叉主项目后,您只需更改远程URL:

git remote set-url origin {your_fork_url}

在此之后,不要忘记将您的工作重新安排到最新的origin/master。您现在应该可以push您的分支机构没有任何问题。