Write slides about merge with conflict
This commit is contained in:
		
							parent
							
								
									c6c938207f
								
							
						
					
					
						commit
						1df85219c9
					
				
					 7 changed files with 127 additions and 3 deletions
				
			
		
							
								
								
									
										15
									
								
								code-examples/python-cat.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								code-examples/python-cat.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
def cat():
 | 
			
		||||
    print("Meow")
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    if len(sys.argv) > 1 and sys.argv[1] == "cat":
 | 
			
		||||
        cat()
 | 
			
		||||
    else:
 | 
			
		||||
        print("HELLO WORLD")
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										15
									
								
								code-examples/python-dog.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								code-examples/python-dog.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
def dog():
 | 
			
		||||
    print("Woof")
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    if len(sys.argv) > 1 and sys.argv[1] == "dog":
 | 
			
		||||
        dog()
 | 
			
		||||
    else:
 | 
			
		||||
        print("HELLO WORLD")
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										20
									
								
								code-examples/python-merged.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								code-examples/python-merged.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
def cat():
 | 
			
		||||
    print("Meow")
 | 
			
		||||
 | 
			
		||||
def dog():
 | 
			
		||||
    print("Woof")
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    if len(sys.argv) > 1 and sys.argv[1] == "cat":
 | 
			
		||||
        cat()
 | 
			
		||||
    elif len(sys.argv) > 1 and sys.argv[1] == "dog":
 | 
			
		||||
        dog()
 | 
			
		||||
    else:
 | 
			
		||||
        print("HELLO WORLD")
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    main()
 | 
			
		||||
							
								
								
									
										40
									
								
								main.latex
									
										
									
									
									
								
							
							
						
						
									
										40
									
								
								main.latex
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -655,8 +655,8 @@
 | 
			
		|||
	git switch test # or
 | 
			
		||||
	git checkout test
 | 
			
		||||
	# Create and switch in one go
 | 
			
		||||
	git switch -cc test # or
 | 
			
		||||
	git checkout -be test
 | 
			
		||||
	git switch -c test # or
 | 
			
		||||
	git checkout -b test
 | 
			
		||||
	\end{minted}
 | 
			
		||||
 | 
			
		||||
	\note{%
 | 
			
		||||
| 
						 | 
				
			
			@ -726,9 +726,43 @@
 | 
			
		|||
\begin{frame}
 | 
			
		||||
	\frametitle{Tidy Up}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{auto-shell-simple-merge.pdf}
 | 
			
		||||
		\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{auto-shell-delete-test-branch.pdf}
 | 
			
		||||
	\end{center}
 | 
			
		||||
	
 | 
			
		||||
	\note{%
 | 
			
		||||
		Now that we have finished with that branch, we can delete it.
 | 
			
		||||
	}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}
 | 
			
		||||
	\frametitle{More Complex merge}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{auto-shell-complex-merge.pdf}
 | 
			
		||||
	\end{center}
 | 
			
		||||
	\note{%
 | 
			
		||||
	At times, git won't be able to merge automatically.
 | 
			
		||||
 | 
			
		||||
	Dealing with merges is something that there are around a million different tools you can use but I think they over complicate what is actually quite a simple process.
 | 
			
		||||
	}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}
 | 
			
		||||
	\frametitle{More Complex merge}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{auto-shell-cat-complex-merge.pdf}
 | 
			
		||||
	\end{center}
 | 
			
		||||
	\note{%
 | 
			
		||||
		Here you can see that the bit(s) git couldn't work out are delimited by \mintinline{bash}{<<<<<<<} and \mintinline{bash}{>>>>>>>} and separated by \mintinline{bash}{=======}.
 | 
			
		||||
 | 
			
		||||
		All you (the programmer) needs to do is fix it.
 | 
			
		||||
	}
 | 
			
		||||
\end{frame}
 | 
			
		||||
 | 
			
		||||
\begin{frame}
 | 
			
		||||
	\frametitle{More Complex merge}
 | 
			
		||||
	\begin{center}
 | 
			
		||||
		\includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio]{auto-shell-fix-complex-merge.pdf}
 | 
			
		||||
	\end{center}
 | 
			
		||||
	
 | 
			
		||||
	\note{%
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								shell/cat-complex-merge
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								shell/cat-complex-merge
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
cd /tmp/demo
 | 
			
		||||
echo '$ cat greeting.py'
 | 
			
		||||
cat greeting.py
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								shell/complex-merge
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								shell/complex-merge
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
DIR="$(dirname "$(readlink -f "$0")")"
 | 
			
		||||
cd /tmp/demo
 | 
			
		||||
git switch master > /dev/null
 | 
			
		||||
git branch dog > /dev/null
 | 
			
		||||
cp "${DIR}/../code-examples/python-cat.py" greeting.py > /dev/null
 | 
			
		||||
git add greeting.py > /dev/null
 | 
			
		||||
git commit -m "Makes a cat say Meow" > /dev/null
 | 
			
		||||
git switch dog > /dev/null
 | 
			
		||||
cp "${DIR}/../code-examples/python-dog.py" greeting.py > /dev/null
 | 
			
		||||
git add greeting.py > /dev/null
 | 
			
		||||
git commit -m "Makes a dog say Woof" > /dev/null
 | 
			
		||||
git switch master > /dev/null
 | 
			
		||||
echo "  # Make changes to 2 branches in the same place #"
 | 
			
		||||
echo '$ git switch master'
 | 
			
		||||
echo '$ git log --oneline --all --graph'
 | 
			
		||||
git -c color.ui=always log --oneline --all --graph --decorate=short
 | 
			
		||||
echo '$ git merge dog'
 | 
			
		||||
git merge dog --no-edit
 | 
			
		||||
							
								
								
									
										14
									
								
								shell/fix-complex-merge
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								shell/fix-complex-merge
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
DIR="$(dirname "$(readlink -f "$0")")"
 | 
			
		||||
cd /tmp/demo
 | 
			
		||||
cp "${DIR}/../code-examples/python-merged.py" greeting.py > /dev/null
 | 
			
		||||
echo '$ vim greeting.py'
 | 
			
		||||
echo '  # Fix the conflict(s) #'
 | 
			
		||||
echo '$ git add greeting.py'
 | 
			
		||||
git add greeting.py
 | 
			
		||||
echo '$ git commit'
 | 
			
		||||
git commit -F .git/COMMIT_EDITMSG
 | 
			
		||||
echo '$ git log --oneline --all --graph'
 | 
			
		||||
git -c color.ui=always log --oneline --all --graph --decorate=short
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue