Showing posts with label git. Show all posts
Showing posts with label git. Show all posts

Monday, June 13, 2022

Git Scenarios #3: OS-X Case Sensitivity (or lack thereof)

Git Scenarios #3: OS-X Case Sensitivity
Git Scenarios is a recurring LabKitty feature wherein we examine weird / badly-documented git behaviors that may vex the git n00b (and the not-so n00b).

The OS-X filesystem is not case sensitive. That means, for example, it cannot tell the difference between a file named foobar.txt and FOOBAR.txt. You can easily verify this. Open Terminal and do:

  $ touch foobar
  $ ls foobar
  $ rm FOOBAR
  $ ls foobar

The first ls will list the file and the second will not.

Unfortunately, this can create git weirdness. Read on.

Monday, September 13, 2021

Git Scenarios #2: Personal Access Tokens

Our scenario today is less a scenario and more a cautionary tale, for it contains no objective and brokers no recourse. Today, we are wholly at the mercy of GitHub (...it will hurt less if you don't struggle, the voice behind you whispers).

If you have been using GitHub for any time, you probably recall the Big Announcement that passwords -- those stalwart digital sentinels generations of coders have relied upon -- would no longer be accepted as the lingua franca for transmitting fingerbarfings to and fro the site. Beginning in August, a new mandatory security widget would go into effect: the Personal Access Token.

Now, instead of typing a password to do any git-dangerous op, you have to type an entirely different password.

A new password. A better password.

A password GitHub creates for you.

Tuesday, August 31, 2021

Introducing: Git Scenarios (also Git Scenarios #1: Revert one file)

Working with git is an infinite loop of small victories followed by crushing defeats. Just when you think you understand the tool's design philosophy, just when you think you get git, just when you let your guard down and attempt the smallest operation outside your comfort zone, disaster strikes. Git-fu simply doesn't extrapolate. The command with the obvious name isn't the one you want, and the command you want doesn't do what you want without including some cryptic option. At best, your attempt does nothing. At worst, it leaves you with a corrupt repo and a missed deadline.

Git is so horrid one can't help but suspect Torvalds released it as a joke. The bad design, the obtuse syntax, the nonsensical command modifiers. I'm here reminded of Richard Feynman lashing out during an interview when a reporter insisted on using buzzwords and machinations to explain QED. You're taking something simple and beautiful and making it ugly and complicated! Once git escaped the lab, rational Software Version Control was forever put out of reach. Programming was no longer about solving problems, it was about sitting at the cool kids table.

What's that, young pup? You disagree? You say git is a paragon of SVC, an exemplar of UX, and if someone doesn't see that, well, they're, like, stupid.

Fine, simple test: Would you be using GitHub if it wasn't free?

Yeah, that's what I thought.

Sunday, September 30, 2018

LabKitty Recommends: A Git Book

A Git Book Placeholder

LabKitty Recommends is a recurring feature wherein I recommend something.

Linus Torvalds is the George Lucas of computing: He had one good idea a long time ago, and now nobody dare raise a hand to his awful ones. Case in point: git and its daemon spawn GitHub. In a righteous world, they would have done to Torvalds' career what "Rock me Tonight" did to Billy Squire's. Instead, nerds wet their knickers just typing the names, all-the-while pretending that perfectly good SVC solutions didn't exist long before git's fresh hell was loosed upon the world. Apparently we'll suffer any sling and arrow for a chance to sit at the cool kids' table. Software development is just high school with different bullies.

Infamous for horribleness, git is also the rare topic for which Internet help is useless. The contraption's forced popularity has ironically killed Google as a resource. Any git-related search will return a virtual mountain of answers. Half of these will be clickbait. Half of the other half will be from people only interested in demonstrating how much smarter they are than you. Half of the third half will be wrong, and at least one of the answers is guaranteed to destroy your work.

Sure, somewhere buried in this Zeno partition may be what you need. But if you could finger the correct answer, you wouldn't need help in the first place.

What to do?