@@ -54,7 +54,7 @@ src="https://docs.google.com/presentation/d/1RsKMiKquE4wqncrAv9LEtjivGE_dGiHoJ8n
5454frameborder="0"
5555width="100%" height="480"
5656allowfullscreen="true"
57- mozallowfullscreen="true"
57+ mozallowfullscreen="true"
5858webkitallowfullscreen="true">
5959</iframe >
6060
@@ -67,89 +67,5 @@ See [local_setup](local_setup.md) for instructions to setup git on your local co
6767- [ git-intro by coderefinery] ( https://coderefinery.github.io/git-intro/# )
6868- [ git-moji] ( https://gitmoji.dev/ )
6969- [ Git Internals - Plumbing and Porcelain] ( https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain )
70- - [ Glossary of terms (technical for git)] ( https://www.git-scm.com/docs/gitglossary )
71- - [ GitHub Glossary terms] ( https://docs.github.com/en/get-started/learning-about-github/github-glossary )
72-
73- ## Git under the hood (Extended version)
74-
75- > Extended content for those interested in how git works under the hood
76-
77- You can find a recording of the
78- [ talk] ( https://www.youtube.com/watch?v=cAU3BCUkHxM )
79- ([ slides] ( https://docs.google.com/presentation/d/1RsKMiKquE4wqncrAv9LEtjivGE_dGiHoJ8nKCxgVKeY/edit?usp=sharing ) )
80- and [ hands-on tutorial] ( https://www.youtube.com/watch?v=5iB7qc5zRjQ )
81- on YouTube which was done for the Data Club seminar
82- between DTU biosustain and DTU bioengineering (see sections in description of Video).
83-
84- Talk:
85- [ ![ Recording of talk] ( https://img.youtube.com/vi/cAU3BCUkHxM/maxresdefault.jpg )] ( https://www.youtube.com/watch?v=cAU3BCUkHxM )
86-
87- Live Demo:
88- [ ![ Live Demo of Hands On part] ( https://img.youtube.com/vi/5iB7qc5zRjQ/maxresdefault.jpg )] ( https://www.youtube.com/watch?v=5iB7qc5zRjQ )
89-
90- The above Live Demo is not pulling the merge commit after merging the branch on GitHub:
91- [ github.com/biosustain/git_training_henry_recording] ( https://github.com/biosustain/git_training_henry_recording )
92-
93- I show the merge commit in the video below, cloining the recording repository in a newly
94- create VSCode sandbox environment above:
95-
96- [ ![ Live Demo Hand on Addon] ( https://img.youtube.com/vi/gcfzruIJ-rw/sddefault.jpg )] ( https://www.youtube.com/watch?v=gcfzruIJ-rw )
97-
98- ### Instructions
99-
100- - create a folder with an empty repository (default ` examples `
101- directly openend in VSCode on binder)
102- - open instruction: ` code-server ../README.md ` (local computer: ` code ../README.md ` )
103- - ` git init ` in console to initialize repo (or via command palette "Git: Initialize Repository")
104- - setup user.name and user.email (see above)
105- - create files, stage them and see what files are created in ` .git/objects `
106- - commit files and check ` .git/objects `
107- - create branches and checkout ` .git/refs ` (` git/branches ` is a legacy folder,see
108- [ here] ( https://stackoverflow.com/a/10398507/9684872 ) )
109- - look at ` git/HEAD ` (maybe ` git/ORIG_HEAD ` if it exists)
110-
111- > try to create your own fork, and try to lauch it on [ mybinder] ( https://mybinder.org/ )
112-
113- ### Inspect git objects
114-
115- ``` bash
116- git log --format=raw
117- git cat-file -p < hash> # pretty print
118- git cat-file -t < hash> # type
119-
120- # the binary object can also be inspected using different tools,
121- # which might make it easier to navigate to certain blobs:
122- cat .git/objects/< 2c> /< 38c> | zlib-flate -uncompress
123- ```
124-
125- You can find the latest objects and compare it to the log
126-
127- ``` bash
128- find .git/objects -type f -exec ls -lt {} + | head -n 10
129- git log --format=raw -n 3
130- ```
131-
132- If you wonder what the codes in a tree mean, check this stackexchange
133- [ answer] ( https://unix.stackexchange.com/a/450488/349761 )
134-
135- ### What's happening?
136-
137- Can you explain what happens in the following scenarios?
138-
139- - You committed ten commits and did not yet push. Git complains about too much data.
140- You realize that you committed your source data. You delete it and commit again,
141- but the problem still persists.
142- - You commit something and push. You realize your last commit was wrong. You undo it
143- and commit again. Git complains that you cannot push.
144-
145- ### Git internals resources
146-
147- - [ curious git] ( https://matthew-brett.github.io/curious-git/ ) - detailed intro to the
148- inner workings
149- - [ git parable] ( http://practical-neuroimaging.github.io/git_parable.html ) - why git came to exist
150- - Videos:
151- - [ Python-Git-Client] ( https://www.youtube.com/watch?v=xvzo_nV9PjU )
152- - [ Git-Interals] ( https://www.youtube.com/watch?v=MYP56QJpDr4 ) - shows how git works
153- - [ Git PyData Global 2021 talk] ( https://www.youtube.com/watch?v=rBYC3dEOOyI )
154- - Scoot Chacon’s [ “So you thin you know git” talk] ( https://www.youtube.com/watch?v=aolI_Rz0ZqY ) (FOSDEM 2024),
155- notes on [ blog] ( https://blog.gitbutler.com/git-tips-1-theres-a-git-config-for-that/ )
70+ - [ Glossary of terms for git] ( https://www.git-scm.com/docs/gitglossary )
71+ - [ Glossary terms for GitHub] ( https://docs.github.com/en/get-started/learning-about-github/github-glossary )
0 commit comments