繁体   English   中英

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

[英]Can't push my committed branch to my cloned github fork, and I can't find my github fork

我糊涂了。 我还是git和github的新手。

大约一个月前,我创建了“ Gradle” github项目的一个分支,以便进行一些用户指南修复。 我将fork克隆到了桌面上,并创建了一个分支来进行工作(我不确定我是先执行哪一个)。

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

今天,我决定自己完成更改。 我全部提交了,但是我只选择了“提交”,而不是“提交并推送”。 然后,我将分支重新设置为本地“ master”分支,并进行了一些测试。

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

我还决定看看我在Github上的叉子,看看是否能从中看到一些东西,现在我在Github上找不到它。 我真的很困惑

更新:

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

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

我想这将从实际分叉该项目开始。 然后可以仅将本地项目更改为指向派生分支,然后再推送到上游吗?

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

我是否只需更改url属性?

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

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

首先,请确保您已经分叉了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

#1将您的fork添加到存储库的原点,#2将您的更改推送到fork的分支中。 从那里,您应该能够访问GitHub分支,并且会提示您可以创建拉取请求。

我不确定我先做过哪一个

更有可能的情况是,您在本地克隆了存储库,并使用Egit创建了一个新分支(这是一个好习惯,如果您是git的新手,则应该为此敬上:)

我不熟悉EGit,但似乎不知道该往哪里推送:

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

关于您的最后一点:如果未在该URL上显示它,则表明它不再存在:

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

一种解决方案是仅重新分发它并更新您的远程URL。

更新:

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

git remote set-url origin {your_fork_url}

之后,别忘了将您的工作重新定位到最新的origin/master 现在,您应该可以顺利push分支了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM