Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <blockquote> <p>"Upon finishing a feature branch the recommendation is to delete the feature branch since it is no longer needed for development."</p> </blockquote> <h2>Difference between "discarding" and "merging" the feature branch:</h2> <p>"Finishing" is an ambiguous expression here. To make sure I fully cover your question, I believe you meant either one of the following cases:</p> <p>(1) If you wish to <em>discard</em> the <code>feature/my-fancy-feature</code>:</p> <pre><code>git branch -d feature/my-fancy-feature </code></pre> <p>(2) If you meant to <em>merge</em> the <code>feature/my-fancy-feature</code>:</p> <pre><code>git flow feature finish my-fancy-feature </code></pre> <hr> <blockquote> <p>"Once the branch has been deleted, will the graph still be annotated with "feature/my-fancy-feature" branched and merged?"</p> </blockquote> <h2>Difference between "fast-forward-merge" and "non-fast-forward-merge"</h2> <p>It depends (the outcome is not <code>git-flow</code> dependent). <code>git log</code> won't give you the specific branch name (e.g. <code>feature/my-fancy-feature</code>). It will only give you the commit history with the message. Recalling the differences between <em>fast-forward</em> merging and <em>non-fast-forward</em> merging:</p> <p><em>fast-forward-merge</em> (all commit history made in <code>feature/my-fancy-feature</code> will remain):</p> <pre><code>git merge </code></pre> <p><em>non-fast-forward-merge</em> (all commit history made in <code>feature/my-fancy-feature</code> will be gone):</p> <pre><code>git merge --no-ff </code></pre> <p>Refere to the following illustration from Vincent Driessen's <a href="http://nvie.com/posts/a-successful-git-branching-model" rel="noreferrer">article</a>:</p> <p><img src="https://i.stack.imgur.com/KzHB0.png" alt="enter image description here"></p> <h1>Update</h1> <p>To enable <em>non-fast-forward</em> feature in SourceTree, <strong>check</strong> the below global preference option found from <code>Menubar-&gt; SourceTree -&gt; Preferences -&gt; Git</code>:</p> <p><img src="https://i.stack.imgur.com/ReaJe.png" alt="enter image description here"></p> <p>For further explanation, I found this excerpt from SourceTree's "Help Center":</p> <blockquote> <p>disables fast-forward behaviour when merging, meaning that an explicit merge commit is always created regardless of whether there are other changes in the receiving branch. This can be useful if you want to maintain an explicitly separate line of development in all cases.</p> </blockquote> <p>Hope it helped!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload