5 ms·
Incidentally I'm onboarding someone new to git and Github. I must say, Github is now exceedingly difficult to set up. Vocalizing every step of the process, ho
by stblack 5y ago
Incidentally I'm onboarding someone new to git and Github. I must say, Github is now exceedingly difficult to set up. Vocalizing every step of the process, hopefully not in a hand-wavy way, it strikes me how hard this must be for unguided noobs.
To some degree, this must be crushing the value of the service.
If ever there was a crying need for setup wizards, configuration audit helpers, and clear error messages, this would be it.
On one hand I can clearly see how git-like history and version control could help in so many areas beyond tech. On the other hand, I can see that's never gonna happen with the barriers to entry we see today.
The Github team should talk to the Rust team about error messages and helpful diagnostics.
- tialaramex 5y agoWell, I mean, if you're learning from Rust note that cargo just automatically makes new projects a git repository if that's possible, in the same way it defaults to your new project's code being a trivial implementation of "Hello, world." so that it will build and run before you write any code, and it defaults to providing you a working HTML documentation build and unit test framework. Plus of course it's access to the repository for Rust libraries. But today it does not (out of the box) provide you with automated fuzzing, good performance / benchmarking tools, a bug tracker and so on. Maybe the hot new language of 2035 will have all those things. Also however GitHub is not able to have the clean slate cargo gets. If I make a new repo, GitHub suggests I populate it with many good things, license info, a README document, and so on... but of course I can't because it's actually just somewhere to push my existing local git repo and if it's not empty that would cause a conflict.
- stblack 5y agoSorry I may have been unclear? I'm referring to what's required to make a local git repo interoperate with Github. Either via the command line, or with an editor plugin, or an app. Including the Github desktop app. That's a nightmare.
- alophawen 5y ago1. go to github and create a new repository (https://github.com/new https://github.com/new) 2. read the text in front of you: git remote add origin git@github.com:yourusername/repositoryname.git git branch -M main git push -u origin main
- Wowfunhappy 5y agoHow are you authenticating with github?
- stnmtn 5y agoYou must understand that the hard part is not this, it's setting up SSH keys and authenticating for someone who a) Hasn't set up an SSH key before b) Hasn't used github before It's more of a hassle now than it was 5 years ago
- nemothekid 5y ago>It's more of a hassle now than it was 5 years ago I've been authenticating with Github with SSH for 10 years - as in the creation date for my SSH key on Github is 10 years old. The process is exactly the same.
- MattGaiser 5y agoI think his point is that SSH keys are the hassle over just entering a password.
- tialaramex 5y agoThis seems wrong. Your public keys are.. public, whereas the password is secret. So you can keep those public keys on a PostIt note, on your home page, a text file pinned to your desktop, send them by email, whatever. Now I understand if your password everywhere is just pass1234 that's easier but, trouble is that means you don't have any actual security. People whose password isn't obvious are clearly better off with keys.
- Invictus0 5y agoIt's really not that hard. Install the GitHub CLI and it gives you a simple setup wizard on first run. The GitHub page for the CLI also has clear and simple instructions on how to install it for any OS.
- stblack 5y agoHmmm. Maybe you haven't done that from scratch recently? The deprecation of passwords for tokens is a fairly recent thing. Try it with a fresh laptop: nothing pre-configured. Show someone new how you set up, from scratch. You're gonna be shocked.
- Invictus0 5y agoI have setup github several times in the last 3 days on fresh Linux installs. It is very easy.
- burnished 5y agoHey, I keep bouncing between mac and windows, where/how do you store credentials/tokens? I feel like I've got passwords now that I can't memorize and have to save as text somewhere. I'm putting sensitive stuff in a secrets folder with a corresponding gitignore entry, but I feel like there has got to be some well understood way to handle this?
- Firehawke 5y agoYubikey is probably the sanest cross-platform solution. Assuming you're using an updated beyond Microsoft's default version, which you'll need to get from https://github.com/PowerShell/Win32-OpenSSH/releases https://github.com/PowerShell/Win32-OpenSSH/releases to have support for USB keys, of course. Hopefully MS will update their included version at some point soon. From there, it's as simple as telling the .ssh/config file to use the key from your Yubikey and you can use the same config file on any machine you have OpenSSH.
- prepend 5y agoIt is hard, but everyone gets through it (or doesn’t). I kind of like it for a filter of whether people can navigate Google/stackoverflow/friends enough to get set up. As bad as it is, it’s still better than every other source control I’ve used (vss, clearcase, perforce, cvs, subversion, tfs, mercurial) and their services. Any attempts to make it easier will likely make it as crappy as stuff like azure devops or other Microsoft source products. That being said, good error messages would be great. I feel like an idiot whenever someone onboards and gets stuck and I try to remember how I set up my environment however long ago.
- judge2020 5y agoTo add, the best way to make it not hard for someone is to get them to use https://desktop.github.com https://desktop.github.com, and hopefully they'll eventually expand their curiosity to the cli.
- StrangeWill 5y agoWe've been using SSH keys by default for all of our new users for years, removes a ton of confusion and starts them with one of the better authentication methods out of the gate. (We also set most up with code signing because why not? They think it's cool because we have green checkboxes everywhere, and they get to learn a bit of cryptography too)
- nemothekid 5y ago>I must say, Github is now exceedingly difficult to set up. My GitHub setup process for myself and new hires hasn't changed in 10 years. I'm a bit flabbergasted at what the difficulty could be. 1. Generate a private/public key pair with openssl 2. Add it to your Github account 3. Done I believe openssl still even comes standard on mac so you don't even need to install anything.
- MattGaiser 5y agoThis was not what a lot of people were doing beforehand. We were logging in with our passwords. At least for me when this change was announced, I had no idea what a key pair was as I was always using passwords for everything.
- shepherdjerred 5y agoHave you never used ssh? Genuinely curious.
- voussoir 5y agoI'm not the person you asked, but I can say that at the time I started using github I had never used ssh.
- MattGaiser 5y agoUntil GitHub had made that change, nope. Logged into servers with a password (my entire company did actually). Used Git nearly exclusively through some Jetbrains tool.
- rurp 5y agoI would bet that a large portion of first time GitHub users have never used ssh, myself included at that time. Anyone teaching themselves to code will find a lot of information right away about git and GitHub, but probably little about ssh until they've gone pretty far past the stage where they create a Hello World script in Python and save it to GitHub.
- BossingAround 5y agoWhat is the difficult part of setting up git? 1) Setup ssh keys 2) Create GitHub account 3) Push public key to GitHub 4) Setup username/email 5) Setup org. permissions on repos Done..?
- rurp 5y ago> What is the difficult part of setting up git? For an experienced developer, nothing. But for a beginner, two or three of those steps will be very confusing.
- quickthrower2 5y agoThere is a github client you can download, I wonder if that does this all for you? If not it should.
- SahAssar 5y agoIIRC the github client (by default) uses HTTP auth, not SSH auth. It works for using the client, but not if you use other tooling that needs repo access (like pushing from your IDE). At least that was the case with github for windows last I used it a few years ago.
- bastardoperator 5y agoWhat setup? Creating a user? Maybe utilize the quick start docs GitHub provides? https://docs.github.com/en/get-started/quickstart https://docs.github.com/en/get-started/quickstart