*This document is particularly important if you follow the Rstudio or
the Org-Mode course.* *If you follow the Jupyter course, it can be
ignored in a first step* *as we have closely integrated Jupyter and
GitLab in the context of this MOOC.*
So far, you only used git via the web interface from the GitLab we
So far, you only used git via the web interface from the GitLab we
deployed for the MOOC.
deployed for the MOOC.
...
@@ -19,11 +24,14 @@ is very convenient but in most cases, you will want to have your own
...
@@ -19,11 +24,14 @@ is very convenient but in most cases, you will want to have your own
local copy of the repository and you will have to synchronize your
local copy of the repository and you will have to synchronize your
local copy with the remote GitLab one. To propagate your
local copy with the remote GitLab one. To propagate your
modifications, you will obviously have to authenticate yourself on
modifications, you will obviously have to authenticate yourself on
GitLab. How to do this is illustrated in a [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/jump_to_id/7508aece244548349424dfd61ee3ba85][video tutorial]] (in French).
GitLab.
This document describes the software you need to have installed on
your machine and how to handle authentication. The "Configuring Git"
section is illustrated in a [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/jump_to_id/7508aece244548349424dfd61ee3ba85][video tutorial]] (in French).
This document describes the software you need to have
Please read all these instructions carefully, in particular the one on
installed on your machine and how to handle authentication. Please
In this [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/jump_to_id/7508aece244548349424dfd61ee3ba85][video tutorial]] (in French), I explain how to change your
password on our GitLab.
3. Confirm that you have set the Git username correctly:
*** Making sure git remembers your password
#+begin_src shell :results output :exports both
My GitLab id is =3211ac4f2fb71deaeff9252764c368e7=. Say I've configured
git config --global user.name
my password to be =tototutu= (what a weak password...) and I want to
git config --global user.email
clone my =mooc-rr= repository. If you clone your repos by simply pasting
#+end_src
the GitLab url (e.g., with the following command line) you will be
prompted for your login and your password every time you want to
This is very convenient but there is one drawback to understand. This
means your password is stored, unencrypted on your hard drive. If
The proxyPassword will be stored unencrypted in your ~.gitconfig~ file,
anyone ever gets an access to your machine, he will gain access rights
which you may not want. In that case, remove it from the URL and you
to all your repos, which can be problematic. This is why the really
will be prompted for it every time it is needed.
good way to do this is to follow [[https://stackoverflow.com/questions/5343068/is-there-a-way-to-skip-password-typing-when-using-https-on-github][these instructions]]:
** Configuring your password on GitLab
1. Access [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session01bis/xblock/block-v1:inria+41016+session01bis+type@lti+block@05a0ce425f1741e5bee5049040f70529/handler/preview_handler][GitLab]]. /Note: You have to access Gitlab from the FUN
platform otherwise you may get a 405 error/ /when trying to direcly
open https://app-learninglab.inria.fr/gitlab/users/sign_in/.
#+BEGIN_CENTER
file:gitlab_images/erreur405.png
#+END_CENTER
2. Click on =Sign in:=
#+BEGIN_CENTER
file:gitlab_images/projects.png
#+END_CENTER
The long and uggly character sequence, which is here replaced by =xxx=
is your GitLab login/id. You'll need to use it when trying to
propagate some modifications from your computer to GitLab.
3. To defind your password, you should go in =settings=:
#+BEGIN_CENTER
file:gitlab_images/settings.png
#+END_CENTER
4. Then, go to the =profile= tab to define a valid email address:
#+BEGIN_CENTER
file:gitlab_images/profile.png
#+END_CENTER
You will then receive a email with a link to open to confirm your
email address is correct. Just open it.
5. Once your email address is validated, it will appear as =verified= and
as your =main address= in the =Emails= tab:
#+BEGIN_CENTER
file:gitlab_images/mail.png
#+END_CENTER
6. You will then finally be able to click on the =I forgot my password=
button from the =password= tab:
file:gitlab_images/password.png
You will then receive an email allowing you to reset your GitLab
password.
** Remembering your password locally
If you clone your repos by simply pasting the GitLab URL, you will be
prompted for your login and your password every time you want to
propagate your local modifications, which is tedious. This is why you
should ask git to remember your login and password as follows
#+begin_src shell :results output :exports both
#+begin_src shell :results output :exports both
git config --global credential.helper cache # remember my password
git config --global credential.helper cache # remember my password
git config --global credential.helper "cache --timeout=3600" # for one hour at most
git config --global credential.helper "cache --timeout=3600" # for one hour at most
#+end_src
#+end_src
With this setup, you will be prompted for your password but it will be
With this setup, you will be prompted for your password but it will be
cached in memory and they will not be asked again before an hour.
cached in memory and they will not be asked again before an hour. You
** Option 2: SSH
may want to read [[https://stackoverflow.com/questions/5343068/is-there-a-way-to-skip-password-typing-when-using-https-on-github][these instructions]] to better understand how all this
My preferred (although more technical) solution is to install SSH, to
works.
create a pair or private/public keys, and to upload your SSH public
** Optional: authenticating through SSH
key on GitLab. This section provides with information on how to do
There are two ways of authenticating and synchronizing your local
this.
repository with GitLab: through HTTPS or through SSH. The first one is
what was just described and does not require any particular software
installation on your machine so this is what I recommend for this
MOOC. Yet, I like the second one better (although is may seem a bit
more technical), which is why I describe it here. It consists in
installing SSH, creating a pair or private/public keys, and uploading
your SSH public key on GitLab. This section provides with information
on how to do this.
*** Installing SSH
*** Installing SSH
**** Linux (debian, ubuntu)
**** Linux (debian, ubuntu)
We provide here only instructions for debian-based distributions. Feel
We provide here only instructions for debian-based distributions. Feel