From: Junio C Hamano <gitster@pobox.com>
To: "Julia Evans via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, "D. Ben Knoble" <ben.knoble@gmail.com>,
Tuomas Ahola <taahol@utu.fi>,
Richard Kerry <richard.kerry@atos.ai>,
Julia Evans <julia@jvns.ca>
Subject: Re: [PATCH v4 2/2] doc: add new Git tutorial for beginners
Date: Wed, 28 Oct 2026 10:26:42 -0700 [thread overview]
Message-ID: <xmqqpkwtag8d.fsf@gitster.g> (raw)
In-Reply-To: <4b40588c90c82549c9774f14cfeb4e4741b66386.1793198687.git.gitgitgadget@gmail.com> (Julia Evans via GitGitGadget's message of "Wed, 28 Oct 2026 14:44:47 +0000")
"Julia Evans via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Julia Evans <julia@jvns.ca>
>
> Introduce Git in two parts:
>
> Steps 1-7: Create an empty repo & make 2 commits (`git init`,
> `git add`, `git commit`, `git status`, `git diff`)
> Steps 8-12: Push the repo to a remote host like GitHub or GitLab
> (`git remote add`, `git push`)
>
> Some design choices:
>
> - Only use commands present in 2.23.0 (when `git switch` as introduced),
> to support older versions of Git.
> - Introduce a much smaller set of commands than the old tutorial, to
> keep the tutorial quick (doable in an hour). Some users found it to be
> very fast and some wanted to stop early (after step 7) so this seems
> to be a good balance.
> - Have users start with an empty repository instead of an existing
> project, because many of the testers did not have an existing project
> to test, or were scared of using an existing project.
> - Add a troubleshooting section, since in the testing some users got
> extremely stuck (for 4+ hours) on minor issues like needing to say
> "yes" when SSHing to a new host.
> - Don't explain branches, because explaining branches and collaboration
> is complicated and deserves its own tutorial. Instead just tell users
> we're not going to explain them in this document.
> - Tell users to set their default branch to `main`, because many Git
> hosts use it as their default branch and it really simplifies things.
> - Keep it as vendor neutral as possible, while acknowledging the reality
> that Git hosting services like GitHub, GitLab, etc are extremely
> popular. Do this by creating the repo locally and then optionally
> pushing it later.
> - Use SSH for authentication, explaining how to set up SSH in the
> easiest way possible (with disclaimers to check your security team's
> policy if applicable since the "easiest way" may not be the best), and
> giving some instructions for how to translate an HTTPS URL to an SSH
> URL.
> - Use Git Credential Manager for authentication on Windows, since it's
> simpler, SSH auth is a very "unixy" thing to do, and it comes with
> Git for Windows
What does "it" in "and it comes with" refer to? It is unclear
between GCM or SSH and since SSH appeared later, it tempts readers
to think that it says "and SSH comes with GfW". But the early part
of the same sentence says SSH is "unixy", which probably was used as
a synonym to "non-Windowsy", implying that we do not want to
recommend it. It gives a conflicting and confused message.
- Use GCM for authentication on Windows, since it comes with GfW,
and is simpler than SSH authentication.
> +Step 10 (Mac/Linux only): Create an SSH key if needed
> +-----------------------------------------------------
> +For Git to upload changes to another Git repository, it needs a way to
> +login to that repository. One of the most popular ways to do this is
> +with an SSH key.
> +
> +On Windows, you can skip this step and the next one because Git for
> +Windows comes with
> +https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager]
> +to handle logging in.
This is the only mention of GCM. As described in step 14 (push),
GCM will kick in when needed. It is great that Windows users do not
need any handholding beyond this line ;-)
prev parent reply other threads:[~2026-10-28 17:26 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 19:37 [PATCH 0/2] WIP: doc: add new git tutorial Julia Evans via GitGitGadget
2026-10-06 19:37 ` [PATCH 1/2] doc: remove gittutorial Julia Evans via GitGitGadget
2026-10-06 19:37 ` [PATCH 2/2] doc: add new Git tutorial for beginners Julia Evans via GitGitGadget
2026-10-07 19:48 ` D. Ben Knoble
2026-10-19 14:24 ` Julia Evans
2026-10-19 16:49 ` Ben Knoble
2026-10-19 20:42 ` Julia Evans
2026-10-19 21:14 ` D. Ben Knoble
2026-10-20 17:11 ` Junio C Hamano
2026-10-20 17:59 ` Julia Evans
2026-10-20 18:26 ` Junio C Hamano
2026-10-20 18:27 ` Junio C Hamano
2026-10-20 18:45 ` Junio C Hamano
2026-10-20 19:13 ` Junio C Hamano
2026-10-21 17:16 ` Junio C Hamano
2026-10-21 21:24 ` Julia Evans
2026-10-20 18:22 ` Julia Evans
2026-10-20 18:30 ` Junio C Hamano
2026-10-26 16:03 ` Richard Kerry
2026-10-26 19:14 ` Julia Evans
2026-10-26 20:03 ` Julia Evans
2026-10-26 20:17 ` Junio C Hamano
2026-10-26 20:22 ` Julia Evans
2026-10-26 20:54 ` Junio C Hamano
2026-10-07 19:26 ` [PATCH 0/2] WIP: doc: add new git tutorial D. Ben Knoble
2026-10-19 14:55 ` [PATCH v2 0/2] " Julia Evans via GitGitGadget
2026-10-19 14:55 ` [PATCH v2 1/2] doc: remove gittutorial Julia Evans via GitGitGadget
2026-10-19 14:55 ` [PATCH v2 2/2] doc: add new Git tutorial for beginners Julia Evans via GitGitGadget
2026-10-20 1:24 ` [PATCH v2 0/2] doc: add new git tutorial Junio C Hamano
2026-10-20 2:24 ` Ben Knoble
2026-10-20 12:18 ` Julia Evans
2026-10-20 18:50 ` Tuomas Ahola
2026-10-20 19:13 ` Junio C Hamano
2026-10-23 15:17 ` [PATCH v3 " Julia Evans via GitGitGadget
2026-10-23 15:17 ` [PATCH v3 1/2] doc: remove gittutorial Julia Evans via GitGitGadget
2026-10-23 15:17 ` [PATCH v3 2/2] doc: add new Git tutorial for beginners Julia Evans via GitGitGadget
2026-10-23 18:01 ` [PATCH v3 0/2] doc: add new git tutorial Ben Knoble
2026-10-27 14:30 ` Julia Evans
2026-10-27 15:19 ` Ben Knoble
2026-10-27 18:31 ` Julia Evans
2026-10-28 14:44 ` [PATCH v4 " Julia Evans via GitGitGadget
2026-10-28 14:44 ` [PATCH v4 1/2] doc: remove gittutorial Julia Evans via GitGitGadget
2026-10-28 18:01 ` Junio C Hamano
2026-10-28 14:44 ` [PATCH v4 2/2] doc: add new Git tutorial for beginners Julia Evans via GitGitGadget
2026-10-28 17:26 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqpkwtag8d.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=ben.knoble@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=julia@jvns.ca \
--cc=richard.kerry@atos.ai \
--cc=taahol@utu.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.