繁体   English   中英

如何将分支推回到私有github仓库

[英]How to push a branch back to a private github repo

我已经在github中将一个私人仓库克隆到我的本地机器上。 在我完成一些更改之后,我想将分支推回到github以提出合并(或拉取请求,就像github调用它一样)。

我怎么做?

我是github的新手(我通常使用bzr / launchpad,命令是bzr push lp:~<username>/<master-branch>/<name of the new child branch> 。这是什么等价于git ?)。

[编辑:我发现我的措辞令人困惑,因为我对git的术语了解不多,我将重新描述我的所作所为]

bar是私人回购)

$git clone git@github.com:foo/bar.git
$cd bar
$touch <some file> # ie., make some changes
$git commit ...
$ <<<<< NOW I need to push this back to github here.

从你上面的评论和你原来的问题,你想在github上做一个pull请求,但你已经在本地修改了master ...这是一个问题。 你想要做的是先分支,进行更改,在本地提交,然后推送分支。 然后你可以从那个分支在github上创建一个pull请求。

首先,您需要做的是解决这个问题:

git branch mytopicbranch
git reset - hard origin / master

您现在有一个分支,并在本地将master重置为远程服务器中的主服务器。 你现在可以推动你的分支:

git push origin mytopicbranch

然后在github上,你将能够为该分支创建一个拉取请求。

正常流程将执行以下操作:

git clone <remote repo> 
<cd to directory>
git checkout -b mybranch 
<make changes> 
<commit changes>
git push origin mybranch
<create pull request on github>

编辑添加:这是你问的原因; 想要做一个“拉动请求”。 如果你只想推master你只需要:

git push origin master

并且您的更改将致力于远程掌握。

私人主回购不属于我(即,我没有权限将我的回购推回主回购)。 我想我只能推回我的本地回购,并要求所有者将其合并到主人

你似乎在这里混淆了很多东西。 首先,存储库是一个单元。 克隆存储库时,您将获得它的完整本地副本。

如果您克隆的存储库不属于您自己并且您没有写权限,那么您将无法将任何更改推送到该存储库。 如果是这种情况,您需要先将它分叉到您自己的GitHub帐户。 为此,请单击存储库视图中的fork按钮。 这将在您自己的帐户中创建存储库的副本,您将拥有该帐户的推送权限。

因此,如果您拥有存储库的本地克隆,则可以执行任何操作。 没有任何东西会影响远程存储库,既不会影响原始存储库,也不会影响您的GitHub分支。 您可以根据需要创建任意数量的分支,并随意提交。 请注意,分支不是Git中的某些构造。 分支是提交的简单指针,因此创建分支并没有做太多,除非您真正开始提交,否则不会对您的结构产生任何影响。

如果你想提交到远程存储库,你可以使用git push

git push <remote> <local-branch>:<remote-branch>

因此,如果您想将本地master分支推送到远程命名origin上的分支test ,您可以执行git push origin master:test 当您明确推送到远程分支test (之前不需要存在)时,您将不会触摸远程master分支。 git push的其他变体只是上述命令的缩写。 例如git push <remote> <branch> ,它可能是推送内容的第二种最常见的方式,将你的本地分支<branch>推送到跟踪远程分支(通常是具有相同名称的其他分支)。 所以它或多或少等同于<branch>:<branch> 最常见的方式是git push ,它将根据您的配置自行确定远程和分支,但为了安全起见,您可以明确指定它。

因此,回到您的用例,我假设您想要分叉其他人的存储库来对其进行更改,并建议将其更改为原始作者作为拉取请求。 为此,您应该按照以下步骤操作:

  • 在GitHub上存储库
  • 克隆自己的存储库(即fork)
  • 在您现在的本地存储库中进行更改
  • 将更改推入您的分支(任何分支都可以,但为了清晰起见,建议使用单独的分支)
  • 在GitHub上浏览fork时,单击pull request按钮根据推送的分支创建一个

暂无
暂无

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

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