From: Mart Lubbers Date: Mon, 20 Apr 2015 09:37:44 +0000 (+0200) Subject: All content done X-Git-Tag: 1.0~1 X-Git-Url: https://git.martlubbers.net/?p=ai-gitflashtalk.git;a=commitdiff_plain;h=653a4eddebcbe96917b6ea5f1cbf4d4fc95c4ff5 All content done Merging, tips and tricks done. Also chktexrc added to gitignore --- diff --git a/.gitignore b/.gitignore index b9625b0..8e00d26 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ *.vrb vc.tex myfirstproject +.chktexrc diff --git a/git.tex b/git.tex index c8a6a7a..5319eb1 100644 --- a/git.tex +++ b/git.tex @@ -78,7 +78,7 @@ \end{block} \begin{block}{{\Large\Frowny\Smiley} Mac} - Install via XCode tools. Just run \lstinline{\$ git} and + Install via XCode tools. Just run \lstinline{$\$$ git} and when GIT is not installed it will prompt you with instructions. \end{block} @@ -93,17 +93,17 @@ \frametitle{Getting started} \begin{block}{Check GIT version in (GIT) bash} \begin{lstlisting} -frobnicator@frobmachine:~\$ git --version +frobnicator@frobmachine:~$\$$ git --version git version 1.7.10.4 \end{lstlisting} \end{block} \begin{block}{Create a repository} \begin{lstlisting} -frobnicator@frobmachine:~/projects\$ git init myfirstproject +frobnicator@frobmachine:~/projects$\$$ git init myfirstproject Initialized empty Git repository in /home/frobnicator/projects/myfirstproject/.git/ -frobnicator@frobmachine:~/projects\$ ls -1 myfirstproject/.git +frobnicator@frobmachine:~/projects$\$$ ls -1 myfirstproject/.git branches/ config description @@ -140,9 +140,9 @@ refs/ \begin{frame}[fragile] \frametitle{Add and commit} \begin{lstlisting} -frobnicator@frobmachine :~/projects/myfirstproject\$ echo "This is a frobfile" > frobbedfile +frobnicator@frobmachine:~/projects/myfirstproject$\$$ echo "This is a frobfile" > frobbedfile -frobnicator@frobmachine:~/projects/myfirstproject\$ git status +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git status On branch master Initial commit @@ -158,9 +158,9 @@ nothing added to commit but untracked files present (use "git add" to track) \begin{frame}[fragile] \begin{lstlisting} -frobnicator@frobmachine:~/projects/myfirstproject\$ git add frobbedfile +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git add frobbedfile -frobnicator@frobmachine:~/projects/myfirstproject\$ git status +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git status On branch master Initial commit @@ -170,7 +170,7 @@ Changes to be committed: new file: frobbedfile -frobnicator@frobmachine:~/projects/myfirstproject\$ git commit +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git commit [master (root-commit) 2b7355e] Adds frobbedfile 1 file changed, 1 insertion(+) create mode 100644 frobbedfile @@ -180,9 +180,9 @@ frobnicator@frobmachine:~/projects/myfirstproject\$ git commit \begin{frame}[fragile] \frametitle{Log \& Checkout} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ echo "This is a second frobbedfile" > frob2 -frobnicator@frobmachine~/projects/myfirstproject\$ git add frob2 -frobnicator@frobmachine~/projects/myfirstproject\$ git commit -m "This is a second commit" +frobnicator@frobmachine:~/projects/myfirstproject$\$$ echo "This is a second frobbedfile" > frob2 +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git add frob2 +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git commit -m "This is a second commit" [master cd094bc] This is a second commit 1 file changed, 1 insertion(+) create mode 100644 frob2 @@ -192,7 +192,7 @@ frobnicator@frobmachine~/projects/myfirstproject\$ git commit -m "This is a seco \begin{frame}[fragile] \frametitle{Log \& Checkout 2} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ git log +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git log commit cd094bc6b81812256533395454db22da07d1e5a4 Author: Frob Nicator Date: Thu Apr 16 22:44:42 2015 +0200 @@ -204,7 +204,7 @@ Author: Frob Nicator Date: Thu Apr 16 22:44:42 2015 +0200 Adds frobbedfile -frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobnicator@frobmachine:~/projects/myfirstproject$\$$ ls frob2 frobbedfile \end{lstlisting} \end{frame} @@ -212,7 +212,7 @@ frob2 frobbedfile \begin{frame}[fragile] \frametitle{Log \& Checkout 2} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ git checkout c9c9b3 +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git checkout c9c9b3 Note: checking out 'c9c9b3'. You are in 'detached HEAD' state. You can look around, make experimental @@ -225,7 +225,7 @@ do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at c9c9b35... Adds frobbedfile -frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobnicator@frobmachine:~/projects/myfirstproject$\$$ ls frobbedfile \end{lstlisting} \end{frame} @@ -234,13 +234,13 @@ frobbedfile \frametitle{Log \& Checkout 3} \framesubtitle{We lost our commit and our file!} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ git log +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git log commit c9c9b358cddcbee541ec433a2dc2d5ffe3e928c2 Author: Frob Nicator Date: Thu Apr 16 22:44:42 2015 +0200 Adds frobbedfile -frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobnicator@frobmachine:~/projects/myfirstproject$\$$ ls frobbedfile \end{lstlisting} \end{frame} @@ -249,7 +249,7 @@ frobbedfile \frametitle{Log \& Checkout 4} \begin{block}{Ofcourse not, you never lose stuff with git} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ git log --all +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git log --all commit cd094bc6b81812256533395454db22da07d1e5a4 Author: Frob Nicator Date: Thu Apr 16 22:44:42 2015 +0200 @@ -265,9 +265,9 @@ Date: Thu Apr 16 22:44:42 2015 +0200 \frametitle{Log \& Checkout 5} \begin{block}{We can just checkout the hash again} \begin{lstlisting} -frobnicator@frobmachine~/projects/myfirstproject\$ ls +frobnicator@frobmachine:~/projects/myfirstproject$\$$ ls frob2 frobbedfile -frobnicator@frobmachine~/projects/myfirstproject\$ git log --decorate --oneline --graph --all +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git log --decorate --oneline --graph --all * cd094bc (HEAD, master) This is a second commit * c9c9b35 Adds frobbedfile \end{lstlisting} @@ -293,44 +293,171 @@ frobnicator@frobmachine~/projects/myfirstproject\$ git log --decorate --oneline \frametitle{Branching 2} \begin{block}{See current branch} \begin{lstlisting} -frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch * master \end{lstlisting} \end{block} \begin{block}{Create new branch} \begin{lstlisting} -frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git checkout -b "develop" +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git checkout -b "develop" Switched to a new branch 'develop' -frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch * develop master \end{lstlisting} \end{block} \begin{block}{Delete branch} \begin{lstlisting} -frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch -d "develop" +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch -d "develop" Deleted branch develop (was cd094bc). -frobnicator@frobmachine~/projects/gitflashtalk/myfirstproject\$ git branch +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git branch * master \end{lstlisting} \end{block} \end{frame} -\begin{frame} +\begin{frame}[fragile] \frametitle{Push \& Pull} + \begin{block}{What?} + \begin{itemize} + \item Push your changes upsteam repository (eg.\ github) + \item Pull their changes from upstream + \item Merge into your branch + \end{itemize} + \end{block} + \begin{block}{How?} + \begin{lstlisting} +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git remote add origin https://github.com/dopefishh/prj.git +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git push origin master +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git pull origin master + \end{lstlisting} + \end{block} \end{frame} -\begin{frame} +\begin{frame}[fragile] \frametitle{Merge} + \begin{block}{Merge develop to master} + \begin{lstlisting} +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git merge develop + \end{lstlisting} + \end{block} + + \begin{block}{How to get a conflict} + \begin{itemize} + \item We make a file with three lines + \item On every line we set: \texttt{regelN} where N is line + number. + \item Change line 2 in the master and develop branch to a + separate thing. + \item Commit both and checkout master + \item Do merge + \end{itemize} + \end{block} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Merge 2} + \begin{block}{Merge message} + \begin{lstlisting} +frobnicator@frobmachine~/projects/myfirstproject$\$$ git merge develop +Auto-merging mergeconfict +CONFLICT (content): Merge conflict in mergeconfict +Automatic merge failed; fix conflicts and then commit the result. + \end{lstlisting} + \end{block} + \begin{block}{Contents of mergeconflict file} + \begin{lstlisting} +1 regel1 +2 <<<<<<< HEAD +3 masterregel2 +4 ======= +5 developregel2 +6 >>>>>>> develop +7 regel3 + \end{lstlisting} + \end{block} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Merge 3} + \begin{block}{Commit message} + \begin{lstlisting} + 1 Merge branch 'develop' + 2 + 3 Conflicts: + 4 mergeconfict + 5 # + 6 # It looks like you may be committing a merge. + 7 # If this is not correct, please remove the file + 8 # .git/MERGE_HEAD + 9 # and try again. +10 +11 +12 # Please enter the commit message for your changes. Lines starting +13 # with '#' will be ignored, and an empty message aborts the commit. +14 # On branch master +15 # All conflicts fixed but you are still merging. +16 # +17 # Changes to be committed: +18 # modified: mergeconfict +19 # + \end{lstlisting} + \end{block} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Merge 4} + \begin{block}{Output from git log} + \begin{lstlisting} +* a6474c9 (HEAD, master) Merge branch 'develop' +|\ +| * 8b292ad (develop) Develop merge conflict +* | 7d5018a Master merge confict +|/ +* 885a341 First merge conflict push +* cd094bc This is a second commit +* c9c9b35 Adds frobbedfile + \end{lstlisting} + \end{block} \end{frame} \section{Tips \& Tricks} -\begin{frame} +\begin{frame}[fragile] \frametitle{\texttt{/home/frobnicator/.gitconfig}} + \begin{lstlisting} +frobnicator@frobmachine~$\$$ cat .gitconfig +[user] +name = Frob Nicator +email = frob@nicator.com + +[alias] +tree = log --decorate --oneline --graph --all +pushm = push origin master +pushd = push origin develop + \end{lstlisting} \end{frame} -\begin{frame} +\begin{frame}[fragile] \frametitle{Public key} - + \begin{block}{SSH config} + \begin{lstlisting} +frobnicator@frobmachine:~$\$$ cat .ssh/config +Host github.com + IdentityFile /home/frobnicator/.ssh/github + User git + \end{lstlisting} + \end{block} + \begin{block}{Create Key} + \begin{lstlisting} +frobnicator@frobmachine:~ $\$$ ssh-keygen -f /home/frobnicator/.ssh/github + \end{lstlisting} + \end{block} + \begin{block}{Clone with ssh} + \begin{lstlisting} +frobnicator@frobmachine:~/projects/myfirstproject$\$$ git remote add origin git@github.com:frobnicator/prj.git +frobnicator@frobmachine:~/projects/$\$$ git clone git@github.com:frobnicator/prj.git + \end{lstlisting} + \end{block} \end{frame} + \end{document} diff --git a/preamble.tex b/preamble.tex index 84ec992..37b5603 100644 --- a/preamble.tex +++ b/preamble.tex @@ -27,6 +27,7 @@ showspaces=false, showstringspaces=false, columns=flexible, + mathescape=true, emph={frobnicator@frobmachine}, emphstyle=\bfseries }