git - 如果我在分支“Foo2”并执行“git push origin Foo”,会发生什么?
问题描述
我有一个分支——我们称之为“Foo”——然后我从 Foo 分支创建了 Foo2,Foo 现在是一个遗留分支——我目前的工作重点是 Foo2。
现在我担心我可能会忘记我正在研究 Foo2,所以我可能会这样做git push origin Foo
(尤其可能是由于 bash 的制表符完成行为)。我担心这可能会以某种方式推动从 Foo2 到 Foo 的更改。
那么,实际上会发生什么?
解决方案
让我们检查一下文档git push
。命令的一般形式是git push <repository> <src>:<dst>
,我们想弄清楚:<dst>
省略时会发生什么。
如果
git push [<repository>]
没有设置任何<refspec>
参数以<src>
使用remote.<repository>.push
配置变量更新目的地的某些 ref,:<dst>
则可以省略部分 - 这样的推送将更新通常在命令行上<src>
没有任何更新的 ref。<refspec>
否则,缺少:<dst>
意味着更新与<src>
.
(我保证,我没有从git 手册页生成器中复制它。)
因此,无论它做什么都将涉及<src>
您提供的确切内容,这意味着只要您不在本地Foo
分支中创建更多提交,运行git push origin Foo
将找不到任何要推送的内容,并且远程Foo
分支将保持不变。
推荐阅读
- postgresql - 如何解决:AND 的参数必须是布尔类型,而不是数字类型
- javascript - 从另一个活动执行功能
- jquery - 计算一个元素的总 scrollTop 和 scrollLeft
- python - 拆分汇总数据并重新汇总
- kotlin - Kotlin 类 ProtoBuf$EnumEntryOrBuilder 的间歇性 NoClassDefFoundError
- c# - 有没有办法在 Win Forms Application 的图表中将 X 坐标和其他数据放在 Y 坐标上
- angular - 具有自定义域的 lambda api 网关上的无服务器 Angular 7 项目
- angular - 替换 ag-grid 上节点模块上的 typescript 类
- quickblox - 在android中构建问题
- python - 我错过了什么?