Add readme
Signed-off-by: Arnaud Morin <arnaud.morin@gmail.com>
This commit is contained in:
parent
308f3a201a
commit
96bf638364
126
README.md
126
README.md
@ -1 +1,125 @@
|
||||
# merge-vs-rebase
|
||||
# Intro
|
||||
|
||||
blabla
|
||||
|
||||
## Fork
|
||||
|
||||
Fork this repo to your own github repo
|
||||
|
||||
# Ex. 1 - python
|
||||
|
||||
Here is the output of a python application:
|
||||
|
||||
```bash
|
||||
$ python run.py 'Hello buddies'
|
||||
_ _ _ _ _ _ _ _
|
||||
| | | | ___ | || | ___ | |__ _ _ __| | __| |(_) ___ ___
|
||||
| |_| | / _ \| || | / _ \ | '_ \ | | | | / _` | / _` || | / _ \/ __|
|
||||
| _ || __/| || || (_) | | |_) || |_| || (_| || (_| || || __/\__ \
|
||||
|_| |_| \___||_||_| \___/ |_.__/ \__,_| \__,_| \__,_||_| \___||___/
|
||||
|
||||
```
|
||||
|
||||
Can you write the run.py application and put it in the ex1 folder of the repo?
|
||||
|
||||
# Ex. 2 - docker
|
||||
|
||||
In ex2 folder, you will find a `plik` binary (taken from https://plik.ovh).
|
||||
|
||||
Can you build very lighweight docker image that contains ONLY `plik` binary, and that execute `plik` by default?
|
||||
|
||||
Push your Dockerfile in the ex2 folder.
|
||||
|
||||
# Ex. 3 - terraform
|
||||
|
||||
In ex3 folder, you will find an incomplete `openrc` file.
|
||||
|
||||
You will need to amend the file to configure the correct `OS_USERNAME` and `OS_PASSWORD` with the one that we gave to you.
|
||||
|
||||
Then, using `terraform`, can you write a plan to boot a `d2-4` on `GRA7` region with a floating IP.
|
||||
|
||||
Bonus, on that instance, make sure a web server (`nginx`) is running.
|
||||
|
||||
Push your `main.tf` file in ex3 folder.
|
||||
|
||||
|
||||
# Ex. 4 - git
|
||||
|
||||
In this repo, there are two branches:
|
||||
* stein
|
||||
* queens
|
||||
|
||||
Stein contains the following commits:
|
||||
|
||||
* 1ff2641 (stein) G
|
||||
* cf24853 F
|
||||
* 3fcdfa0 E
|
||||
* cb8c71a D
|
||||
* 849ef26 C
|
||||
* 372c155 B
|
||||
* edc8ed7 A
|
||||
|
||||
Queens contains the following commits:
|
||||
|
||||
* 2624c16 (queens) F
|
||||
* 5e3521b B
|
||||
* edc8ed7 A
|
||||
|
||||
So the common ancestor is A (same commit ID).
|
||||
|
||||
B has been cherry-picked from stein to queens, without conflicts.
|
||||
|
||||
F has also been cherry-picked but with conflicts (solved, of course).
|
||||
|
||||
## Exercice
|
||||
|
||||
You will need to create two branches:
|
||||
- merged
|
||||
- rebased
|
||||
|
||||
### Merged
|
||||
|
||||
Create the merged branch first:
|
||||
|
||||
```bash
|
||||
git checkout -b merged origin/queens
|
||||
```
|
||||
|
||||
Then merge the stein branch into your branch
|
||||
```bash
|
||||
git merge origin/stein
|
||||
```
|
||||
|
||||
You will have a conflict to solved.
|
||||
|
||||
Solve it, then push your `merged` branch to your repo.
|
||||
|
||||
|
||||
### Rebased
|
||||
|
||||
Now create the rebased branch:
|
||||
```bash
|
||||
git checkout -b rebased origin/queens
|
||||
```
|
||||
|
||||
Now rebase it on top of stein:
|
||||
|
||||
```bash
|
||||
git rebase -i origin/stein
|
||||
```
|
||||
|
||||
You will have a conflict to solved.
|
||||
|
||||
Solve it, then push your `rebased` branch to your repo.
|
||||
|
||||
## Check diff
|
||||
|
||||
Now check the diff between your two branches `merged` and `rebased`.
|
||||
|
||||
```bash
|
||||
git diff merged..rebased
|
||||
```
|
||||
|
||||
Can you explain why you have a diff?
|
||||
|
||||
Write down the explanation in ex4 folder (like in a `README.md` file)
|
||||
|
0
ex1/.placeholder
Normal file
0
ex1/.placeholder
Normal file
0
ex2/.placeholder
Normal file
0
ex2/.placeholder
Normal file
0
ex3/.placeholder
Normal file
0
ex3/.placeholder
Normal file
9
ex3/openrc
Normal file
9
ex3/openrc
Normal file
@ -0,0 +1,9 @@
|
||||
export OS_AUTH_URL=https://auth.cloud.ovh.net/v3
|
||||
export OS_IDENTITY_API_VERSION=3
|
||||
export OS_USER_DOMAIN_NAME="Default"
|
||||
export OS_PROJECT_DOMAIN_NAME="Default"
|
||||
export OS_TENANT_ID=fc00ee5431d4497681f2039f4e649dca
|
||||
export OS_TENANT_NAME="3245829148481055"
|
||||
export OS_USERNAME="REPLACE_ME"
|
||||
export OS_PASSWORD="REPLACE_ME"
|
||||
export OS_REGION_NAME="GRA7"
|
0
ex4/.placeholder
Normal file
0
ex4/.placeholder
Normal file
Loading…
Reference in New Issue
Block a user