User Tools

Site Tools


Sidebar

Imprint

kb:scc:git:setup

01 Setup

How to setup

1. Create a GitLab User

Go to gitlab.com/users/sign_up and create a free account. Then let us know about your username so we can grant you access to our repositories.

2. Install Git

Install git on your development machine.

There's an in-depth description of Working with Git on Windows available at beanstalk. It covers the installation of Git for Windows as well as installing SSH keys.

Git itself is a collection of tools that are operated from the command line (or bash). However, there are GUI clients available for all major operating systems.

3. Configure Git

If you're using a GUI client, some of these settings may be done via its settings dialog.

Git checks 4 places for a configuration file, cascading settings in the following order:

  • Your machine's system .gitconfig file.
  • Your user .gitconfig file located at ~/.gitconfig.
  • A second user-specific configuration file located at $XDG_CONFIG_HOME/git/config or $HOME/.config/git/config.
  • The local repo's config file .git/config.

If you haven't been asked for your name and your email address during installation, you can manually set this information:

  git config --global user.name "Your Name"
  git config --global user.email "your@email.address"

Example .gitconfig file

  [user]
  	name = Your Name
  	email = your@email.address
  [core]
  	excludesfile = /some/path/to/.gitignore_global
  	filemode = false

Ignoring files

The exludesfile mentioned in the .gitconfig file (the global .gitignore file) defines which files to ignore (exclude from versioning) for all repositories on the computer its stored on. You can set the path of the global exludesfile to the actual user's home directory with

  git config --global core.excludesfile '~/.gitignore'

Each repository and each directory in it can have its own .gitignore file.

Common .gitignore example
  # Generic: Temporary Files and Logs
  *~ 
  ._* 
  .DS_Store
  Thumbs.db
  ~*.docx
  ~*.xlsx
  *.log*
Project-specific .gitignore example
  # LabVIEW Metadata
  *.aliases
  *.lvlps
  .cache/
  
  # LabVIEW Binaries/Builds
  artifacts/
  builds/
  *.lvlibp

Windows Specifics

If you're using msysgit on Windows:

  • the machine's system .gitconfig file resides at %PROGRAMFILES(X86)%\Git\etc\gitconfig.
  • your user ~/.gitconfig file resides at your %HOMEPATH%

Use echo %PROGRAMFILES(X86)% and echo %HOMEPATH% from a Windows command prompt to find the specific locations.

Global .gitignore file

Set the global .gitignore file location to C:/users/{myusername}/.gitignore:

  git config --global core.excludesfile "%USERPROFILE%\.gitignore"

The above command will only set the location of the ignore file that git will use. The file has to still be manually created in that location and populated with the ignore list.

Environment Variables

Open up My Computer → Advanced System Settings → Environment Variables. Then:

  1. Add the git binary path (eg C:\Program Files (X86)\Git\bin) to the PATH environment variable
  2. Add msys to the TERM environment variable
File Permissions

If your repository is on a filesystem whose executable bits are unreliable (like FAT), git should be configured to ignore differences in file modes recorded in the index and the file mode on the filesystem if they differ only on executable bit:

  git config --local core.filemode false

and/or

  git config --global core.filemode false

4. Get an SSL Certificate

To establish a secure connection between your computer and GitLab via Secure Shell (SSH) you will need to create and install SSH keys. The private key resides on your computer, the public key is stored at the GitLab server.

Create SSH keys

Set public key in gitlab.com

Add your key by navigating to the 'SSH Keys' section in your user profile, selecting 'Add SSH Key' and copy-pasting the public key to the 'key' field. Please copy the complete key (a long string starting with ssh- and ending with the comment you specified, usually your email address).

For server certificate errors, see 04 Debugging.

SSH Options

You can add options for the ssh client permanently in ~/.ssh/config (for the current user)

Disable SSH host key checking
  Host 192.168.*.*
     StrictHostKeyChecking no
     UserKnownHostsFile=/dev/null
kb/scc/git/setup.txt · Last modified: 2020/08/19 11:11 by joerg.hampel