我很困惑。我还是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
我会更改网址属性吗?
答案 0 :(得分:1)
我想我很清楚我先忽略了叉子,所以我 只克隆了主要项目。
那么,为了达到理智,我能做的最痛苦的手术是什么 状态?
首先,确保您实际上已经分叉了Gradle存储库。如果您的用户名为my-github-username
,则http://github.com/my-github-username/gradle应该有一个存储库。
然后,假设您的GitHub用户名为my-github-username
,而您正在处理的分支机构名为my-branch-name
,我建议:
git remote add my-github-username git@github.com:my-github-username/gradle.git
git push my-github-username my-branch-name
#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
您的分支机构没有任何问题。