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 |