如何在Bitbucket上创建Mercurial书签的拉取请求?

时间:2014-02-12 11:37:44

标签: version-control mercurial bitbucket bookmarks

可以将Mercurial书签推送到Bitbucket,但是有人知道如何从他们那里创建拉取请求吗?

2 个答案:

答案 0 :(得分:8)

根据this thread的信息(感谢 sirex 总结)。它不是用户友好的,但可能。

bookmark hash

  • 拉取请求按钮并确保下拉列表中的哈希匹配
  • 就是这样

答案 1 :(得分:4)

我的团队非常积极地使用书签提取请求几周。这是它对我的作用:

  1. master分支上创建名为default的书签:

    hg bo master -r default
    

    如果你不这样做,那么在default上创建两个分支后,当一个分支以书签命名时,其他分支将保留为匿名分支。因此,需要master书签来命名此匿名分支。

  2. 在您的fork存储库和上游存储库中公开此master分支:

    hg push -B master
    hg push upstream -B master
    

    您可以在.hg/hgrc文件(相对于您的存储库)中管理存储库别名,例如:

    [paths]
    default = ssh://hg@bitbucket.org/foo/upstream
    upstream = ssh://hg@bitbucket.org/upstream/upstream
    
  3. 请您的小组提取master书签:

    hg pull -B master
    
  4. 使用书签开始处理某项功能:

    hg bo feature-1
    hg ci -m "Some changes."
    hg push
    
  5. 在Bitbucket中,按“拉请求”按钮,或键入“x”,然后键入“p”。

  6. 在左侧,选择分支,从中创建拉取请求。如果您的default只有一个分支(要查看hg heads default),那么您的书签分支将显示为default,但如果{{1}上有多个分支然后你会看到一些像这样default的想法,你可以通过匹配default (0932c9ab2029)的哈希值找到正确的一个。选择分支后,拉出请求标题将填入所选分支的最后一次提交。

  7. 按下底部的“创建拉取请求”按钮,就是这样,您的拉取请求将被创建。

  8. 要创建新的拉取请求,请先从上游存储库中提取更改:

    hg bo
  9. 更新至hg pull upstream

    master
  10. 使用书签启动新功能分支:

    hg up master
    
  11. 如果您没有可能要求您的团队使用hg bo feature-2 书签作为原始master的书签,那么我建议您创建个人命名分支,例如名为您的昵称,并使用您的个人命名分支处理书签,而不是使用default。在这种情况下,工作流程将是:

    1. 创建您的个人命名分支:

      default
    2. 创建本地hg branch nickname hg ci -m "Starting my personal branch for feature branch management." 书签:

      master
    3. 使用书签开始处理某项功能:

      hg bo master
      
    4. 在Bitbucket中,按“拉请求”按钮,或键入“x”,然后键入“p”。

    5. 在左侧,选择分支,从中创建拉取请求。如果您的hg bo feature-1 hg ci -m "Some changes." hg push 命名分支只有一个头(要查看nickname),那么您的书签分支将显示为hg heads nickname,但如果您在nickname上有多个分支{1}},然后您会看到有人认为这样nickname,您可以通过匹配nickname (0932c9ab2029)的哈希值找到正确的一个。选择分支后,拉出请求标题将填入所选分支的最后一次提交。

    6. 按下底部的“创建拉取请求”按钮,就是这样,您的拉取请求将被创建。

    7. 要创建新的拉取请求,请先从上游存储库中提取更改:

      hg bo
    8. 更新至hg pull upstream

      master
    9. hg up master 合并到default

      master
    10. 使用书签启动新功能分支:

      hg merge default
      hg ci -m merge