--disabled-login, which is similar to
--disabled-password, is used to create the user account without any password and to avoid prompting for it. This is to avoid any attempt to log in as
git on your Git server. The reason for this is that you're not supposed to log in to it directly, you're supposed to interact with it via
git commands only.
--gecos sets additional information about the user you're creating (and doesn't have anything in particular to do with
git). It's not in much use these days. If you set gecos values for an account, other users can read that information using the
finger command so they can get more information about him/her/it. You can also set it separately with the
chfn command. The
--gecos switch is intended to be followed by five comma-separated values which serves as additional comments about the user. The values are:
- Full name
- Room number
- Work phone
- Home phone
You can leave out any value and skip the ends, for example
--gecos 'Donald Trump,3' would work, as would
The main reasons why you're asked to use the
--gecos option is, I guess, to avoid prompts for these values, they are just annoying and don't make much sense these days, and may actually be a security risk. Never put your personal data here!
According to Wikipedia, some early Unix systems at Bell Labs used GECOS (General Comprehensive Operating System) machines, so this field was added to carry information on a user's GECOS identity.