各位朋友:
我克隆了一个repo。通过发出以下命令,我创建了一个分支来处理一个特性:
git branch fix78
然后我在那个分支上工作
git checkout fix78
我继续向这个本地分支机构提交。现在,我想将其推送到存储库,因此我发出了以下命令:
git push origin master:fix78
我从web浏览器查看了存储库,并看到在存储库上创建了一个名为fix78的新分支。但它没有我所做的任何承诺。
我在这里做错了什么?这就是我想要实现的:
有一个repo(master( SVN术语中的主干)),现在当我处理一个特性时,我想创建它的一个本地分支,然后我还想将这个分支签入到repo(这样其他团队成员就可以看到我正在处理的内容),然后我希望我的本地分支与我创建的这个远程分支同步。
任何帮助/反馈都将是非常棒的。
谢谢。
发布于 2011-06-08 21:03:36
git push origin master:fix78将本地主服务器推送到名为fix78的远程分支。您希望推送本地分支fix78,它具有相同的语法,但没有master:
您可以通过执行git push origin :fix78来删除远程分支,然后执行git push origin fix78来将本地分支推送到远程存储库,从而修复此问题。
发布于 2011-06-08 23:04:51
push命令的形式为
git push remote_name source_ref:destination_ref你需要做的就是纠正你的错误
git push origin +fix78:fix78加号表示您不关心该分支可能丢失的历史,因为之前的推送是错误的。
替代语法是
git push -f origin fix78如果您省略了目的地,则暗示它是相同的名称。如果在遥控器上设置了对特定分支的跟踪,它将转到该分支。删除分支有两种语法,旧的:
git push -f origin :fix78和
git push --delete origin fix78第一个被理解为"push nothing into fix78“,这会删除它。
其中一个技巧是,如果将.指定为远程名称,则会将当前存储库作为远程名称。这对于更新本地分支而不必签出它是很有用的:
git push . origin/master:master将更新master而不必签出master。
希望这能有所帮助
https://stackoverflow.com/questions/6279082
复制相似问题