我知道我可以使用URL直接从远程存储库拉到我当前的分支,而不必像以前那样将存储库添加为远程:
git pull git://github.com/them/repository.git theirbranch
快速检查拉取请求非常方便。
现在我想知道是否有可能为推送做同样的事情(假设我有所需的存储库访问权限)。我尝试了以下但是它不起作用:
git push git://github.com/them/repository.git theirbranch
我知道我可以通过git remote add
添加网址,然后推送到那个名为remote的网址,但是为一次性推送创建配置似乎有些过分。我觉得应该可以,但我根本无法弄清楚正确的语法,所有的例子总是使用命名的遥控器。
答案 0 :(得分:4)
根据push的git文档,可以将存储库指定为有效的git url或对已保存的遥控器的引用。
这适用于远程网址:
ssh://[user@]host.xz[:port]/path/to/repo.git/
git://host.xz[:port]/path/to/repo.git/
http[s]://host.xz[:port]/path/to/repo.git/
ftp[s]://host.xz[:port]/path/to/repo.git/
或当地回购:
/path/to/repo.git/
file:///path/to/repo.git/
并支持所有常用的装备(用户名,端口)。
答案 1 :(得分:2)
当然可以推送到远程分支,但是您可能需要指定本地分支名称以及使用HTTP URI。
假设您维护一个项目,并且希望在合并之前对拉取请求进行一些调整。首先拉动特征分支:
$ git checkout -b username-featurename master
$ git pull git://github.com/username/projectname.git featurename
进行更改后,假设所有者已授予您适当的权限,则可以直接推送到原始功能分支。您可能只被允许使用HTTP URI进行此操作,并且还必须在refspec中指定本地分支名称:
$ git push https://github.com/username/projectname.git username-featurename:featurename