Comments
  1. changelog.com6 min
    12 reads8 comments
    9.2
    changelog.com
    12 reads
    9.2
    You must read the article before you can comment on it.
    • bill
      Top reader of all time
      3 years ago

      To an extent, I consider myself to be a part of the "new generation of users of GitHub." I can mess around in the terminal, but it's not a happy place for me. I use these tools to publish blog posts and it seems unnecessarily painful. I think it's very interesting to see which companies design tools that are meant to lure non-coders like me into coding. I would think that the folks behind Git and GitHub have a vested interest in turning me into a coder, but they surely don't roll out the red carpet. Version control should be my friend. It isn't. (The opposite is a company like Squarespace, which seems to want to make people not want to learn how to code.)

      I think the author is right on about how simple our expectations are. We wanna mess around w stuff with confidence that we're not gonna screw everything up. We want our own little playpens ("branches" I guess) and to be able to see what our changes looks like when our "draft" code mingles with "master," the stuff that's live in production - then undo it, redo it, or, if it's good, actually ship it. It never even occurred to me that that's a reasonable request. But now I really want it.

      I won't blame the tools, but I will say that I wish that by now I was shipping meaningful changes to Readup (front end stuff, for example, in html; static text on static pages; or even gasp creating new pages) instead of just being perpetually confused about merging blog posts.

      • thorgalle
        Top reader this weekScoutScribe
        3 years ago

        I use these tools to publish blog posts and it seems unnecessarily painful.

        I totally understand that writing blog posts in the terminal seems daunting!

        We want our own little playpens ("branches" I guess) and to be able to see what our changes looks like when our "draft" code mingles with "master,"

        Assuming you're using GitHub and writing in .md text files, you might be in luck! You can add new text files straight from the repository web interface:

        And you can also edit them with a GUI editor, with preview mode.

        Best thing is that it guides you through the "Propose changes" stage, which I believe will create a branch & pull request behind the scenes for you so you can preview what will change. I've been using this for simple documentation contributions to other projects. It's one step, but of course, it doesn't get rid of the complicated git concepts for beginners.

        • bill
          Top reader of all time
          3 years ago

          I totally understand that writing blog posts in the terminal seems daunting!

          Oh gosh - I definitely don't write blog posts in the terminal. That would be bonkers. I write them in Google docs, and after Jeff gives me feedback (Google docs "comment/resolve" feature is great) I copy/paste to code, spiff it up w markdown (usually very minimal) and then commit and push changes from there. Re-reading my comments, I think I made it sound more difficult than it actually is. Either way, I'm very psyched to tighten up the process over time!

    • thorgalle
      Top reader this weekScoutScribe
      3 years ago

      It should maybe be just a really powerful abstraction built on top of Git.

      Power users have made their scripts and aliases on top of git for years for maximum efficiency, but I haven't seen a beginner-friendly abstraction of the Git CLI yet.

      GitHub's recent CLI is going in the right direction though: when you make a pull request, it automatically handles branch tracking & branch pushing. When you merge a pull request, it asks if it should delete the local and remote branches -> takes away much of the confusing aspects!

    • jeff3 years ago

      Git is definitely hard but I don't know how it could be made much easier without sacrificing some of its best features like the ability to work offline and maintain a complete historical record of all changes. In addition to the CLI which I only use when I need to work myself out of a pickle I also use 3 different GUI interfaces (VSCode, the GitLens extension and GitHub Desktop) which all make certain operations easier but can't do everything themselves.

      • thorgalle
        Top reader this weekScoutScribe
        3 years ago

        Git is definitely hard but I don't know how it could be made much easier without sacrificing some of its best features like the ability to work offline and maintain a complete historical record of all changes.

        So true. The distributed nature of git makes it a wonder. Unfortunately, the popularity of GitHub is not always good for git: people new to coding may very well assume that git & GitHub are the same thing. It's only when you work a lot offline or with multiple remotes that this complexity starts to make sense. In that sense I see an analogy with the internet: it's a very decentralized technology built to operate under nuclear catastrophe, yet in practice the show is run by a few powerful centralized entities.

        In addition to the CLI which I only use when I need to work myself out of a pickle I also use 3 different GUI interfaces (VSCode, the GitLens extension and GitHub Desktop) which all make certain operations easier but can't do everything themselves.

        I'm using VSCode & GitLens too, but not the desktop app. I always have a small terminal open at the bottom in VSCode. This stems from the days where I was using Linux & zsh with Oh My Zsh. That added command aliases like gst for git status, gbd for git branch -d, gd for git diff and glg for git log. Recently started using the GitHub CLI too: excellent interactive tool! No need to switch apps anymore.

    • vunderkind3 years ago

      Something that struck me while reading this is how I've never considered Git to be 'difficult' until the author posed examples where complexity is hidden under simple language.

      Many people - like myself - never realize how difficult it is because we mostly get by using a small list of commands daily. The first time I had to do a git rebase, I nearly lost it. Not even sure I can replicate that process.

      • thorgalle
        Top reader this weekScoutScribe
        3 years ago

        I can 100% relate. It's the situation where you know by finger memory what you practice multiple times every day. But if you need to do something more complex (extreme example: deleting a sensitive file from the whole git history) you definitely need to hit a search engine or Stack Overflow to find how.

        1. Update (11/19/2020):

          Woops, muscle memory* is the correct term