推送到bitbucket。
如果我这样做:git push origin origin/branch_name
我的提交不会被推送。
Total 0 (delta 0), reused 0 (delta 0)
如果我git push origin branch_name
我的提交被推送:
Counting objects: 160, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (20/20), 2.10 KiB | 0 bytes/s, done.
Total 20 (delta 6), reused 0 (delta 0)
那么branch_name前面的起源/平均值是多少?为什么重要?
答案 0 :(得分:27)
你必须记住,有不同类型的分支:
origin
)了解相关的远程存储库。但是,从该存储库的角度来看,这样的分支是 local 。欢迎使用分布式版本控制! :)
此处,branch_name
是本地分支,而origin/branch_name
是远程跟踪分支;它反映了origin
中相应分支的状态。
跑完后
git fetch
远程跟踪分支origin/master
以及origin
中相应的分支应完全同步(模数并发推送到当然是远程服务器)。那不应该是一个惊喜
git push origin origin/branch_name
不推送任何内容:您实际上是在尝试推送已存在于origin
但是,如果您的本地分支branch_name
提前一个或多个提交,
然后运行
git push origin branch_name
将推送branch_name
中包含的提交但不包含origin
答案 1 :(得分:2)
使用图形树查看器(如gitk --all
)会显示origin/mybranch
和mybranch
可能不同。
origin
只是克隆远程的默认名称,(在您的情况下)包含分支mybranch
(就像您的一样)本地存储库)
所以,当您要求origin/mybranch
推送到origin
时,您正在将origin
遥控器与自身同步,因此它无法执行任何操作(幸运的是遥控器始终与自身同步。
名称origin
是任意的,可以在克隆时使用--origin
标记进行设置。
答案 2 :(得分:1)
origin/branch_name
是远程计算机上的分支branch_name
是本地计算机上的分支答案 3 :(得分:0)
origin是什么东西远程存储在github上
没有来源是您计算机本地存储的内容
当您提交1st时,您将在本地提交到您的计算机
当您推送原始分支名称时,您将推送到github