{"id":19860,"date":"2017-12-15T14:32:18","date_gmt":"2017-12-15T19:32:18","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=19860"},"modified":"2018-01-03T10:07:59","modified_gmt":"2018-01-03T15:07:59","slug":"using-gitup","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2017\/12\/15\/using-gitup\/","title":{"rendered":"Using GitUp"},"content":{"rendered":"<p>I&rsquo;ve recently rediscovered <a href=\"http:\/\/gitup.co\">GitUp<\/a>, and I like it much better now than the <a href=\"https:\/\/mjtsai.com\/blog\/2015\/05\/23\/gitup-0-7\/\">first time around<\/a>. I&rsquo;m not sure whether this is due to improvements in the app itself or simply my better understanding from reading the <a href=\"https:\/\/github.com\/git-up\/GitUp\/wiki\">documentation<\/a> and listening to <a href=\"https:\/\/changelog.com\/podcast\/172\">this podcast<\/a>. The user interface is non-standard&mdash;and to me not very self-explanatory&mdash;but it is actually very functional once you know how to use it.<\/p>\n\n<ul>\n<li><p>I like that it&rsquo;s really fast and avoids animations that would get in the way. The scrolling is very smooth.<\/p><\/li>\n\n<li><p>In particular, the <a href=\"https:\/\/github.com\/git-up\/GitUp\/wiki\/Using-GitUp-Advanced-Commit-View\">Diff View<\/a> is much faster to load than Tower&rsquo;s, and you can easily see diffs for multiple files simultaneously, rather than having to select one after the other or click an Expand All button. It also shows which part of each line changed.<\/p><\/li>\n\n<li><p>It can <a href=\"https:\/\/github.com\/git-up\/GitUp\/wiki\/Using-GitUp-Search\">search<\/a> the content of your files. This, too, is blazing fast. It helped me find some &ldquo;missing&rdquo; code that (I think due to a migration from a previous version control system) was hidden on one of my tags and not visible on the master branch.<\/p><\/li>\n\n<li><p>Switching to APFS, with its <a href=\"https:\/\/mjtsai.com\/blog\/2015\/05\/23\/gitup-0-7\/#comment-2460284\">native normalization<\/a>, confused Git due to some files I had with Unicode names. GitUp (<a href=\"https:\/\/mjtsai.com\/blog\/2015\/05\/23\/gitup-0-7\/#comment-2460284\">again<\/a>) helped me fix the inconsistencies between my repository and working copy, where the <tt>git<\/tt> command-line tool and Tower were not showing an accurate view. Perhaps entering:<\/p>\n<pre>git config --global core.precomposeUnicode true<\/pre>\n<p>will prevent problems like this in the future.<\/p>\n<\/li>\n\n<li><p>You don&rsquo;t <em>have<\/em> to browse using the <a href=\"https:\/\/github.com\/git-up\/GitUp\/wiki\/Using-GitUp-Map-View\">Map View<\/a>. The &ldquo;Browse Head Ancestors&#8230;&rdquo; command shows a more traditional list of recent commits so that you can see multiple commit messages at once. Unfortunately, the width is not resizable, and sometimes it&rsquo;s necessary to Tab before you can press the Spacebar to switch to the <a href=\"https:\/\/github.com\/git-up\/GitUp\/wiki\/Using-GitUp-Quick-View\">Quick View<\/a> that shows the commit details.<\/p><\/li>\n\n<li><p>I don&rsquo;t think I was even aware of the Quick View until I read the documentation because it&rsquo;s not mentioned in the menu bar.<\/p><\/li>\n\n<li><p>The Quick View unfortunately does not remember the split view state.<\/p><\/li>\n\n<li><p>Pressing D in Quick View opens the external diff tool, but in Map View you have to press I to see the diffs; D instead modifies the repository, swapping the current commit with its parent (Move Down).<\/p><\/li>\n\n<li><p>There&rsquo;s no built-in support for using BBEdit as a diff tool, but it can use the one from your git configuration, and you can set BBEdit using these commands:<\/p>\n<pre>git config difftool.bbdiff.cmd '\/usr\/local\/bin\/bbdiff --wait --resume $LOCAL $REMOTE | true'\ngit config diff.tool bbdiff<\/pre>\n<p>The <code>| true<\/code> is necessary because otherwise GitUp will complain about the exit status.<\/p>\n<\/li>\n\n<li><p>The layout of the panes and the text rendering sometimes get messed up on non-Retina displays. I&rsquo;m not sure whether this is a GitUp bug, though, because I sometimes see the same thing in Finder since updating to High Sierra.<\/p><\/li>\n\n<li><p>The biggest shortcoming of GitUp is that there&rsquo;s no way to <a href=\"https:\/\/github.com\/git-up\/GitUp\/issues\/76\">view the history of a particular file<\/a>. Tower, Xcode, and BBEdit can all do this, though each introduces more friction than I would prefer. Tower and Xcode want you to navigate to the file first; you can&rsquo;t just drag and drop it from elsewhere. BBEdit offers two separate commands: the log view shows commit messages but doesn&rsquo;t directly let you view the previous versions, and the command for comparing with previous versions doesn&rsquo;t let you view the commit messages.<\/p><\/li>\n<\/ul>\n\n<p>Update (2018-01-03): One annoyance I&rsquo;ve found is that you cannot see from the Commit view, which is where I live, whether there are changes that you need to push or pull. So it&rsquo;s easy to switch Macs and leave some changes stranded.<\/p>","protected":false},"excerpt":{"rendered":"<p>I&rsquo;ve recently rediscovered GitUp, and I like it much better now than the first time around. I&rsquo;m not sure whether this is due to improvements in the app itself or simply my better understanding from reading the documentation and listening to this podcast. The user interface is non-standard&mdash;and to me not very self-explanatory&mdash;but it is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[],"tags":[1395,154,131,77,377,605,1201,30,32,1529,258],"class_list":["post-19860","post","type-post","status-publish","format-standard","hentry","tag-apple-file-system-apfs","tag-bbedit","tag-bug","tag-design","tag-git","tag-git-tower","tag-gitup","tag-mac","tag-macapp","tag-macos-10-13","tag-unicode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=19860"}],"version-history":[{"count":7,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19860\/revisions"}],"predecessor-version":[{"id":20028,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/19860\/revisions\/20028"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=19860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=19860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=19860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}