当我有3个这样的分支时:
我正在研究feature / my-branch-1
一旦我跑步
hg push
Run Code Online (Sandbox Code Playgroud)
我要推送所有这三个分支还是仅推送工作分支(功能/ my-branch-1)?
默认情况下,它将在所有尚未存储在目标存储库中的分支上推送所有变更集。
您可以使用以下-b选项仅推送选定的分支:
Run Code Online (Sandbox Code Playgroud)# hg push --help hg push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST] push changes to the specified destination Push changesets from the local repository to the specified destination. ... options ([+] can be repeated): .. -b --branch BRANCH [+] a specific branch you would like to push ..
注意1:如果您使用阶段,则专门推送将查找不在目标位置的任何草稿或公共更改,而仅推送那些。它不会推送任何秘密变更集。推送变更集后,变更集的阶段将更改为公开。
(您可能会取消推送公共变更集-例如,如果您明确将其阶段标记为公共阶段,或者如果您之前未使用过阶段,则转换为使用阶段。)
重要的是,如果您想控制要推送哪些变更集,则分阶段是一个不错的方法。您可以将所有内容默认为秘密,并且只有在准备就绪时才手动将其标记为草稿。这意味着您始终可以安全地进行提交,而不必担心会弹出尚未准备好的内容。
Run Code Online (Sandbox Code Playgroud)# hg phase --help hg phase [-p|-d|-s] [-f] [-r] [REV...] set or show the current phase name ... options ([+] can be repeated): -p --public set changeset phase to public -d --draft set changeset phase to draft -s --secret set changeset phase to secret -f --force allow to move boundary backward -r --rev REV [+] target revision
注意2:在某些情况下,推送可能会以特殊方式起作用。
如果您在同一分支上有多个负责人,那么通常默认情况下,Mercurial会投诉而不进行任何操作。(这可能不是OP询问的确切场景,但在拓扑上却非常相似。)在这种情况下,每个其他头都是一个“匿名分支”。
默认情况下,推入将不允许在目标位置创建新的磁头,因为多个磁头将使其不清楚要使用哪个磁头。
如果确实需要,可以使用-f/ --force选项 “将多个头推入,这将建议所有分支上的所有新头推入 ”,这建议“ 几乎总是会使合作者感到困惑”。
第二种情况是,您要推送的分支在目标中尚不存在。Hg将需要额外的推动才能推动该分支:
如果要允许推送创建目标处不存在的新命名分支,请使用--new-branch。这使您仅可以创建一个新分支,而无需强制其他更改。
(来自的文本摘要hg push --help)
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |