Unfillinf

This commit is contained in:
Éibhear Ó hAnluain 2018-06-26 10:32:05 +01:00
parent 60f505f5c7
commit 815191c736

View file

@ -5,50 +5,22 @@
A Version 1 Technical Meetup talk covering the deep internals of git. A Version 1 Technical Meetup talk covering the deep internals of git.
** Introduction ** Introduction
This is the slide-deck and set-up scripts used to give the /Git This is the slide-deck and set-up scripts used to give the /Git Deep Dive/ technical meet-up talk on 2018-06-25 in Version 1, by Éibhear Ó hAnluain.
Deep Dive/ technical meet-up talk on [2018-06-25 Mon] in Version 1,
by Éibhear Ó hAnluain.
The pack comes with the following: The pack comes with the following:
- This document - This document
- The slide-deck, =GitDeepDive.pdf= - The slide-deck, =GitDeepDive.pdf=
- A script to set up a simple git repository for exploration - A script to set up a simple git repository for exploration purposes: =simple-setup.sh=
purposes: =merge-setup.sh= - A script to set up the mimic of a development team and processes: =gitDemo.sh=
- A script to set up the mimic of a development team and processes: - A script to set up another simple repository to run through the process for completely clearing a file out of a git database: =largeFile-setup.sh=.
=gitDemo.sh=
- A script to set up another simple repository to run through the
process for completely clearing a file out of a git database:
=largeFile-setup.sh=.
- A =.gitignore= file. - A =.gitignore= file.
** Setup ** Setup
1) Run the script =merge-setup.sh=. This will create a git 1) Run the script =simple-setup.sh=. This will create a git repository in =simpleRepo= and populate it with some commits. The commits in this repository will correspond to the diagrams in the slide-deck that relate to merging.
repository in =simpleRepo= and populate it with some 2) Run the script =largeFile-setup.sh=. This will create another git repository in =largeFileRepo= and populate it with the same commits as in =simpleRepo=, and then puts in some more to create and manipulate a large binary file, and then to remove it. This will be used for the demonstration to remove a file completely from the repository.
commits. The commits in this repository will correspond to the 3) Run the script =gitDemo.sh=. This will replicate a previous git repository as a bare repo in =devTeamDemo/javaBootcampNoEclipse.git=, and then create a number of clones to represent the actions of a team lead and two developers, and mimic collaborative development among them. =gitDemo.sh= takes one optional parameter, =-s=, which will cause the progression to stop for 15 seconds following each "actor's" push in order to afford the opportunity to look at the git log.
diagrams in the slide-deck that relate to merging. 4) Use the =gpg= utility to generate a key-pair so that you can work through the commit- and tag-signing slide and sample commands. If you have access to =gpg2= and not =gpg=, you'll need to set the following =git config= to make sure it's picked up: =git config --global gpg.program gpg2=.
2) Run the script =largeFile-setup.sh=. This will create another 5) Open the file =GitDeepDive.pdf=, and as you go through the slides, refer to the /Sample Commands/ section below for commands you can execute to get further insights.
git repository in =largeFileRepo= and populate it with the same
commits as in =simpleRepo=, and then puts in some more to create
and manipulate a large binary file, and then to remove it. This
will be used for the demonstration to remove a file completely
from the repository.
3) Run the script =gitDemo.sh=. This will replicate a previous git
repository as a bare repo in
=devTeamDemo/javaBootcampNoEclipse.git=, and then create a
number of clones to represent the actions of a team lead and two
developers, and mimic collaborative development among
them. =gitDemo.sh= takes one optional parameter, =-s=, which
will cause the progression to stop for 15 seconds following each
"actor's" push in order to afford the opportunity to look at the
git log.
4) Use the =gpg= utility to generate a key-pair so that you can
work through the commit- and tag-signing slide and sample
commands. If you have access to =gpg2= and not =gpg=, you'll
need to set the following =git config= to make sure it's picked
up: =git config --global gpg.program gpg2=.
5) Open the file =GitDeepDive.pdf=, and as you go through the
slides, refer to the /Sample Commands/ section below for
commands you can execute to get further insights.
** Sample commands ** Sample commands
@ -109,7 +81,7 @@
*** Slide: Merging approaches: Rebase *** Slide: Merging approaches: Rebase
#+BEGIN_SRC shell #+BEGIN_SRC shell
# Remove and refresh the simpleRepo # Remove and refresh the simpleRepo
${BASE_DIR}/merge-setup.sh ${BASE_DIR}/simple-setup.sh
cd ${BASE_DIR}/simpleRepo cd ${BASE_DIR}/simpleRepo
# Check out master, review its log, merge Rel1 and review the log # Check out master, review its log, merge Rel1 and review the log
@ -129,7 +101,7 @@
*** Slide: refs *** Slide: refs
#+BEGIN_SRC shell #+BEGIN_SRC shell
# Remove and refresh the simpleRepo # Remove and refresh the simpleRepo
${BASE_DIR}/merge-setup.sh ${BASE_DIR}/simple-setup.sh
cd ${BASE_DIR}/simpleRepo cd ${BASE_DIR}/simpleRepo
# Look at the contents of .git/refs/heads and one of the heads itself # Look at the contents of .git/refs/heads and one of the heads itself
@ -285,7 +257,7 @@
git log --follow -- "largeInformation.md" git log --follow -- "largeInformation.md"
#+END_SRC #+END_SRC
*** Slide: Permanently removing a file from your git db [1/2] *** Slide: Permanently removing a file from your git db
#+BEGIN_SRC shell #+BEGIN_SRC shell
# Preserve information on the tags, as you may need this later. # Preserve information on the tags, as you may need this later.