title: Bump version and publish packages from one branch but keep tags in another branch
body: <p>I'm migrating my project consisting of many dependent on each other packages to monorepo with <a href="https://lernajs.io/" rel="noreferrer">Lerna</a>. We follow something like <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow" rel="noreferrer">Gitflow workflow</a> during development. The main concept is to make all source code changes in <code>develop</code> branch and all other branches (feature, bugfix, etc.) created from and merged back to <code>develop</code>. As long as new version of a package is ready we publish it by <code>npm publish</code> or <code>yarn publish</code> and then merge it to <code>master</code> branch and tag it there manually the following way:</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ git checkout develop
  </code></pre>
  
  <p>Make some changes in source code including version bumping...</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ git add -A
  $ git commit -m "Make some changes and version bump."
  $ git checkout master
  $ git merge --no-ff develop -m "Version 0.14.1."
  $ git tag -a 0.14.1 -m "Version 0.14.1."
  </code></pre>
  
  <p>Now I want to achieve the same thing managing all the packages with Lerna. Looking at the docs I stated that <a href="https://github.com/lerna/lerna/tree/master/commands/publish" rel="noreferrer">publish</a> command relies on <a href="https://github.com/lerna/lerna/tree/master/commands/version" rel="noreferrer">version</a> command that, in turn, uses <a href="https://github.com/lerna/lerna/tree/master/commands/changed" rel="noreferrer">changed</a> command behind the scenes to detect changes made in packages since latest release:</p>
  
  <blockquote>
    <p>List local packages that have changed since the last tagged release</p>
  </blockquote>
  
  <p>Consider that some change is made in <code>develop</code> branch in one package (say, <code>@geoapps/layout</code>)</p>
  
  <p><img src="https://i.stack.imgur.com/5MteH.png" alt=""></p>
  
  <pre class="lang-sh prettyprint-override"><code>$ lerna changed
  </code></pre>
  
  <p>says that all packages are changed (that is not that I expect):</p>
  
  <pre><code>info cli using local version of lerna
  lerna notice cli v3.13.1
  lerna info Assuming all packages changed
  @geoapps/angle
  @geoapps/camera-scene-mode-switcher
  ...
  @geoapps/tracer
  @geoapps/vector
  lerna success found 39 packages ready to publish
  </code></pre>
  
  <p>I guess that it happens due to Lerna looks for tagged commits in <code>develop</code> branch to compare with but nothing is found there. If I commit source code changes to <code>master</code> branch</p>
  
  <p><img src="https://i.stack.imgur.com/jEgbJ.png" alt=""></p>
  
  <p>then Lerna detects them in single <code>@geoapps/layout</code> package properly:</p>
  
  <pre class="lang-sh prettyprint-override"><code>$ git checkout master
  $ lerna changed
  </code></pre>
  
  <pre><code>info cli using local version of lerna
  lerna notice cli v3.13.1
  lerna info Looking for changed packages since 0.14.1
  @geoapps/layout
  lerna success found 1 package ready to publish
  </code></pre>
  
  <p>But making changes in <code>master</code> branch is also not what I want to do. <a href="https://github.com/lerna/lerna/tree/master/commands/version#--include-merged-tags" rel="noreferrer">include-merged-tags</a> was another option I tried to use but seems it works only when tagged commit is also a part of the history of <code>develop</code> branch:</p>
  
  <pre><code>$ git checkout develop
  $ git merge --no-ff master -m "Sync with master."
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/LZLhL.png" alt=""></p>
  
  <pre class="lang-sh prettyprint-override"><code>$ lerna changed --include-merged-tags
  </code></pre>
  
  <pre><code>info cli using local version of lerna
  lerna notice cli v3.13.1
  lerna info Looking for changed packages since 0.14.1
  @geoapps/layout
  lerna success found 1 package ready to publish
  </code></pre>
  
  <p>Since all source code changes tagged in <code>master</code> branch are present in <code>develop</code> branch I wonder whether it is possible to force Lerna to compare changes made in <code>develop</code> branch not with tagged commits from <code>master</code> but with their parent commits (<code>0.14.1^2</code>) also belonging to <code>develop</code>. Is it possible?</p>
  
  <p>Environment:</p>
  
  <pre><code>$ node --version
  v10.15.0
  $ npm --version
  6.9.0
  $ yarn --version
  1.15.2
  $ lerna --version
  3.13.1
  </code></pre>