Create the first version of the presentation
|
@ -0,0 +1,71 @@
|
||||||
|
#+TITLE: Git 101
|
||||||
|
#+AUTHOR: Amin Kasrou Aouam
|
||||||
|
#+PANDOC_OPTIONS: pdf-engine:xelatex
|
||||||
|
#+PANDOC_METADATA: theme:metropolis
|
||||||
|
* Concepts
|
||||||
|
- Version control system (VCS)
|
||||||
|
- Distributed
|
||||||
|
- /De facto/ standard for code collaboration
|
||||||
|
* Reality
|
||||||
|
- Powerful system with hard to grasp concepts
|
||||||
|
|
||||||
|
#+CAPTION: xkcd
|
||||||
|
#+ATTR_HTML: :width 170
|
||||||
|
[[./assets/xkcd.png]]
|
||||||
|
* Structure of a git project
|
||||||
|
- The working directory is the folder where we want to manage our project
|
||||||
|
- The index is an intermediary step between the files in the directory and the commits
|
||||||
|
- A commit is a full snapshot (i.e. copy) of the contents of the working directory at some point
|
||||||
|
|
||||||
|
#+CAPTION: Structure of a project
|
||||||
|
#+ATTR_HTML: :width 300
|
||||||
|
[[./assets/staging.png]]
|
||||||
|
* Branches
|
||||||
|
- A branch is a way to diverge from the commits
|
||||||
|
- It allows multiple people to work on the same project without conflicts
|
||||||
|
[[./assets/branch.png]]
|
||||||
|
[[./assets/divergence.png]]
|
||||||
|
* Remotes
|
||||||
|
- The real advantage of git is allowing multiple people to work on the same project from different locations
|
||||||
|
- A server is used to synchronize the changes between the developers
|
||||||
|
#+CAPTION: Remote repositories
|
||||||
|
#+ATTR_HTML: :width 300
|
||||||
|
[[./assets/remote.png]]
|
||||||
|
* Merges
|
||||||
|
- The development of the developers has to be combined at some point
|
||||||
|
- We can merge a branch on another, importing all the changes that were done
|
||||||
|
#+CAPTION: Merging the branches Test and Master
|
||||||
|
#+ATTR_HTML: :width 300
|
||||||
|
[[./assets/merge.png]]
|
||||||
|
* Cheatsheet
|
||||||
|
|
||||||
|
- Add a file to the index
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
git add file
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
- Commit the changes
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
git commit
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
- Change the branch
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
git checkout branch_name
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
- Send the changes to the server
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
git push
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
- Get the changes from the server
|
||||||
|
|
||||||
|
#+begin_src bash
|
||||||
|
git pull
|
||||||
|
#+end_src
|
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 81 KiB |