Southampton-RSG-Training / git-novice

https://southampton-rsg-training.github.io/git-novice/
Other
2 stars 3 forks source link

Deal with authentication #14

Open smangham opened 1 year ago

smangham commented 1 year ago

SSH key creation and registration is a huge hit to tempo. Means we spend like 20-30min bugfixing weird niggling problems before we even start teaching. It's awful.

There's tools to improve it: Git Credential Manager

OK, if I get some time I'll experiment with setting up GCM via .NET.

smangham commented 1 year ago

OK, so for Linux the process is:

sudo apt install dotnet-sdk-7.0
dotnet tool install -g git-credential-manager
echo 'export PATH="$PATH:/home/smangham/.dotnet/tools"' >> ~/.bashrc
source ~/.bashrc
git-credential-manager configure
git config --global credential.credentialStore secretservice

For Mac, the process should be:

[Download and run .NET installer from https://dotnet.microsoft.com/en-us/download]
dotnet tool install -g git-credential-manager
git credential-manager configure

@Edward-RSE, can you test this please?

I'm just raising an issue on the GCM repo about making a more novice-friendly list of downloads for each release, as I don't think we can expect users to understand the difference between ARM64 and x64, unfortunately.

Edward-RSE commented 1 year ago

Installing dotnet and git-credential-manager was straightforwards, and I had to reload my shell after each program installed as we probably expect.

I couldn't launch git-credential-manager at first. It seems ~/.dotnet/tools isn't added to the $PATH variable for the Fish shell. But it was added to the path in my .bashrc automatically.

smangham commented 1 year ago

Fab, thanks. Fish is the default shell now, right? So any new users will have to add to path? What's the fish equivalent of

echo "$PATH:~/.dotnet/tools" >> ~/.bashrc

E: Actually maybe I shouldn't encourage them to use >> because if they typo it's a massive problem. EE: Huh fish_add_path ~/.dotnet/tools will do it permanently? I really need to switch to Fish. Should see if there's a permanent equivalent for Bash yet.

Edward-RSE commented 1 year ago

The default shell for macOS is actually Zsh, and you add to the path the same way as Bash.

Like you said in EE, fish_add_path ~/.dotnet/tools will work and you can do it interactively from the command line. You can add it to ~/.config/fish/config.fish, but you don't actually need to. It'll remember the modified $PATH after running the command once.

smangham commented 1 year ago

OK, no response to my issue so I think we'll just need to maintain some links to the latest GUI installers for Mac users.