Git Environment Setup

The environment of any tool consists of elements that support execution with software, hardware, and network configured. It includes operating system settings, hardware configuration, software configuration, test terminals, and other support to perform the operations. It is an essential aspect of any software.

It will help you to understand how to set up Git for first use on various platforms so you can read and write code in no time.

1. The Git config command

Git supports a command called git config that lets you get and set configuration variables that control all facets of how Git looks and operates. It is used to set Git configuration values on a global or local project level.

Setting user.name and user.email are the necessary configuration options as your name and email will show up in your commit messages.

Setting username

The username is used by the Git for each commit.

$ git config –global user.name “Mai Xuan Viet”
[/code]

Setting email id

The Git uses this email id for each commit.

$ git config –global user.email “maixuanviet.com@gmail.com”
[/code]

There are many other configuration options that the user can set.

Setting editor

You can set the default text editor when Git needs you to type in a message. If you have not selected any of the editors, Git will use your default system’s editor.

To select a different text editor, such as Vim,

$ git config –global core.editor Vim
[/code]

Checking Your Settings

You can check your configuration settings; you can use the git config –list command to list all the settings that Git can find at that point.

$ git config -list
[/code]

This command will list all your settings. See the below command line output.

Output

vietmx@maixuanviet.com ~/Desktop
$ git config –list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean — %f
filter.lfs.smudge=git-lfs smudge –skip — %f
filter.lfs.process=git-lfs filter-process –skip
filter.lfs.required=true
credential.helper=manager
gui.recentrepo=C:/Git
user.email=maixuanviet.com@gmail.com
user.name=Mai Xuan Viet
[/code]

Colored output

You can customize your Git output to view a personalized color theme. The git config can be used to set these color themes.

Color.ui

$ Git config -global color.ui true
[/code]

The default value of color.ui is set as auto, which will apply colors to the immediate terminal output stream. You can set the color value as true, false, auto, and always.

2. Git configuration levels

The git config command can accept arguments to specify the configuration level. The following configuration levels are available in the Git config.

  • local
  • global
  • system

–local

It is the default level in Git. Git config will write to a local level if no configuration option is given. Local configuration values are stored in .git/config directory as a file.

–global

The global level configuration is user-specific configuration. User-specific means, it is applied to an individual operating system user. Global configuration values are stored in a user’s home directory. ~ /.gitconfig on UNIX systems and C:\Users\\.gitconfig on windows as a file format.

–system

The system-level configuration is applied across an entire system. The entire system means all users on an operating system and all repositories. The system-level configuration file stores in a gitconfig file off the system directory. $(prefix)/etc/gitconfig on UNIX systems and C:\ProgramData\Git\config on Windows.

The order of priority of the Git config is local, global, and system, respectively. It means when looking for a configuration value, Git will start at the local level and bubble up to the system level.