On the other hand, git cherry-pick -m 2 merge-commit will delete the clutter, because the difference between parent 2 (the last of the widget-adding commits) and merge-commit is exactly the clutter-removal missing from the widget branch. For example, if clutter removal happened on master and the merge commit was created using git merge WIDGET, then git cherry-pick -m 1 merged-commit will cherry-pick the new widget because diff between the merged tree and parent 1 (the last of clutter-removing commits) will have been exactly the widget addition. The -m option allows you to tell git how to proceed. Nor can you do both, because the information on how to do both is not contained inside a single merge commit, only the content of the resultant merged tree is. Now consider step #1 of the cherry-pick process: git can't guess whether you want to remove the clutter or to implement the widget. The merge gives you the code with the widget, sans the clutter. For example, one line implements widget, and the other line removes clutter. Take the changes between rev and its parent.Īpply these changes to the current HEAD and commit the result with rev's commit message.Ī merge commit joins two lines of development. Normally, what git cherry-pick REV does can be described as: However we defer to Git itself for operations that mutate the repository (Staging, Committing, Checking out branches, etc).You have to supply -m if the commit is a merge commit, i.e. * We have a custom implementation of Git for reading repositories, which drives a lot of our high performance functionality. We'll be on the Forums listening to any feedback - let us know how you get on with it! It's still early days for Sublime Merge - it has only been used by us and our small team of beta testers so far. Sublime Merge runs on Windows, Mac and Linux. Individual purchases are buy once, use forever, with 3 years of updates included in the purchase.īusiness licenses are available on a subscription basis. The evaluation version is fully functional, but is restricted to the light theme only. You can download Sublime Merge, and try it for yourself - there's no time limit, no accounts, no metrics, and no tracking. The result is, to us at least, something pretty special. It combines the UI engine of Sublime Text, with a from-scratch implementation of Git*. Today, I'd like to introduce Sublime Merge. What if we used it to build a Git client?Ĭould we make it buttery smooth, without flickering or blocking?Ĭould we make something that's really, really right? We're all too familiar with clunky layouts, unresponsive buttons, choppy scrolling, tedious splash screens, and flickering on every interaction.Īfter typing git add -p in the terminal one too many times, I thought to myself: we've got some pretty great tech in Sublime Text. There's a real pleasure using software that gets it really right, as a lot of the time, it doesn't. The feel, aesthetics, and performance all have to be there. When it comes to software, getting it really right goes beyond functionality. It embodies the idea of building something that goes beyond the minimum: making it as good as it can be, paying attention to the details, and getting it really right. They make lovely equipment, but what I really like is the name. There's a company that makes photography accessories, called Really Right Stuff.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |