Phriction Phriction Guide for DKFZ-internal setup of Git and Phabricator (obsolete, see Onboarding guide) History Version 10 vs 13
Version 10 vs 13
Version 10 vs 13
Content Changes
Content Changes
Welcome to our department(s). 😄
Please follow this guide to have a smooth start with our tools and conventions.
= Install Git =
- {icon linux} [[guide/install-git-linux | Linux (Ubuntu)]]
- {icon windows} [[guide/install-git-windows | Windows]]
= Configure Git =
IMPORTANT: Make sure to use the correct domain in your email address, e.g. `dkfz-heidelberg.de` instead of ~~`dkfz.de`~~.
```$ git config --global user.name "John Doe"
$ git config --global user.email j.doe@dkfz-heidelberg.de
$ git config --global credential.https://phabricator.mitk.org.username jdoe # <-- DKFZ account name```
== DKFZ proxy server ==
Please check if you're connected to the internet through the DKFZ proxy server, e.g., visit https://www.whatismyip.com/. If the shown IP address is identical to the one you see when calling {icon windows} `ipconfig` / {icon linux} `ifconfig` from the command line resp. terminal, you have a public IP address and can skip this section. If they differ, you are connected through the DKFZ proxy server (usually an IP address in the range `193.174.53.x`) and need to configure Git appropriately:
```$ git config --global http.proxy http://www-int2:3128```
= Register with LDAP (your DKFZ account) =
IMPORTANT: Make sure to use the `LDAP` login form instead of the ~~`Username/Password`~~ login form.
In Phabricator, click on `Log In` at the top or follow [[https://phabricator.mitk.org/auth/start/ | this link]] to register your DKFZ account:
{F752525, size=full}
= Set up VCS password =
Authentification for read and write access to hosted Git repositories is managed by Phabricator. You must set a VCS password that should be different to your DKFZ account password. You can do this in your [[/settings | Personal Account Settings]]:
{nav icon=wrench, name=Settings > Personal Account Settings > VCS Password}
Use this password when you are asked for your credentials by Git, not your DKFZ account password.
= Upload public SSH key =
We also provide SSH authentification for read and write access to hosted Git repositories, which is more comfortable than using a password. Choose the SSH URI when cloning a repository instead of the HTTPS URI to use this type of authentification. You need to tell Phabricator your public SSH key in your [[/settings | Personal Account Settings]]:
{nav icon=wrench, name=Settings > Personal Account Settings > SSH Public Keys > icon=cog, name="SSH Key Actions" > icon=upload, name="Upload Public Key"}
Copy the contents of your public key (usually a file named `id_rsa.pub` located in a hidden `.ssh` directory in your home directory) into the `Public Key` field and give it a `Name` like "John Doe <j.doe@dkfz-heidelberg.de>".
NOTE: At the DKFZ, the `X:` drive is your home directory on {icon windows} Windows.
If you don't have a SSH key pair yet, use `ssh-keygen` in your terminal/Git Bash to generate one. When asked for a passphrase by `ssh-keygen`, leave it empty:
```$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/x/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /x/.ssh/id_rsa.
Your public key has been saved in /x/.ssh/id_rsa.pub.```
= Profile picture =
Please change your profile picture to something individual by clicking on the default profile picture at the top:
{nav Profile > icon=cogs, name=Manage > icon=picture-o, name="Edit Profile Picture"}
= Things you should be aware of =
- **Git branch naming scheme in MITK repositories:** We enforce a naming scheme for Git branches in rMITK and rMBI, i.e. `T00000-YadaYada`, where T is a monogram for Task and the number should match a corresponding task in Phabricator. We also allow personal, less restricted branches, which must follow another naming scheme, though: `personal/dkfz_account_name/YadaYada`.
- **Remarkup:** Phabricator supports a pretty cool and lightweight markup language for formatting text. Please have at least a look at the [[https://secure.phabricator.com/book/phabricator/article/remarkup/ | Quick Reference]], especially on how to auto-link things like tasks, people, tags, commits, and stuff: {T1}, @kislinsk, #MITK, rMITK651a153, F1338. Syntax highlighting for code in different languages is also supported.
Welcome to our department(s). 😄
Please follow this guide to have a smooth start with our tools and conventions.
= Install Git =
- {icon linux} [[guide/install-git-linux | Linux (Ubuntu)]]
- {icon windows} [[guide/install-git-windows | Windows]]
= Configure Git =
IMPORTANT: Make sure to use the correct domain in your email address, e.g. `dkfz-heidelberg.de` instead of ~~`dkfz.de`~~.
```$ git config --global user.name "John Doe"
$ git config --global user.email j.doe@dkfz-heidelberg.de
$ git config --global credential.https://phabricator.mitk.org.username jdoe # <-- DKFZ account name```
== DKFZ proxy server ==
Please check if you're connected to the internet through the DKFZ proxy server, e.g., visit https://www.whatismyip.com/. If the shown IP address is identical to the one you see when calling {icon windows} `ipconfig` / {icon linux} `ifconfig` from the command line resp. terminal, you have a public IP address and can skip this section. If they differ, you are connected through the DKFZ proxy server (usually an IP address in the range `193.174.53.x`) and need to configure Git appropriately:
```$ git config --global http.proxy http://www-int2:3128```
= Register with LDAP (your DKFZ account) =
IMPORTANT: Make sure to use the `LDAP` login form instead of the ~~`Username/Password`~~ login form.
In Phabricator, click on `Log In` at the top or follow [[https://phabricator.mitk.org/auth/start/ | this link]] to register your DKFZ account:
{F752525, size=full}
= Set up VCS password =
Authentification for read and write access to hosted Git repositories is managed by Phabricator. You must set a VCS password that should be different to your DKFZ account password. You can do this in your [[/settings | Personal Account Settings]]:
{nav icon=wrench, name=Settings > Personal Account Settings > VCS Password}
Use this password when you are asked for your credentials by Git, not your DKFZ account password.
= Upload public SSH key =
We also provide SSH authentification for read and write access to hosted Git repositories, which is more comfortable than using a password. Choose the SSH URI when cloning a repository instead of the HTTPS URI to use this type of authentification. You need to tell Phabricator your public SSH key in your [[/settings | Personal Account Settings]]:
{nav icon=wrench, name=Settings > Personal Account Settings > SSH Public Keys > icon=cog, name="SSH Key Actions" > icon=upload, name="Upload Public Key"}
Copy the contents of your public key (usually a file named `id_rsa.pub` located in a hidden `.ssh` directory in your home directory) into the `Public Key` field and give it a `Name` like "John Doe <j.doe@dkfz-heidelberg.de>".
NOTE: At the DKFZ, the `X:` drive is your home directory on {icon windows} Windows.
If you don't have a SSH key pair yet, use `ssh-keygen` in your terminal/Git Bash to generate one. When asked for a passphrase by `ssh-keygen`, leave it empty:
```$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/x/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /x/.ssh/id_rsa.
Your public key has been saved in /x/.ssh/id_rsa.pub.```
= Profile picture =
Please change your profile picture to something individual by clicking on the default profile picture at the top:
{nav Profile > icon=cogs, name=Manage > icon=picture-o, name="Edit Profile Picture"}
= Things you should be aware of =
- **Git branch naming scheme in MITK repositories:** We enforce a naming scheme for Git branches in rMITK and rMBI, i.e. `T00000-YadaYada`, where T is a monogram for Task and the number should match a corresponding task in Phabricator. We also allow personal, less restricted branches, which must follow another naming scheme, though: `personal/dkfz_account_name/YadaYada`.
- **Remarkup:** Phabricator supports a pretty cool and lightweight markup language for formatting text. Please have at least a look at the [[https://secure.phabricator.com/book/phabricator/article/remarkup/ | Quick Reference]], especially on how to auto-link things like tasks, people, tags, commits, and stuff: {T1}, @kislinsk, #MITK, rMITK651a153, F1338. Syntax highlighting for code in different languages is also supported.