From 738e582468245faca2660b5a9a0b7947a8c4bb76 Mon Sep 17 00:00:00 2001 From: abregman Date: Sat, 25 Jun 2022 17:48:13 +0300 Subject: [PATCH] Add Git exercises --- README.md | 6 +- exercises/aws/README.md | 4 + exercises/git/README.md | 102 ++++++++++++++++++++ images/design/development/git_fsmonitor.png | Bin 0 -> 40291 bytes 4 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 images/design/development/git_fsmonitor.png diff --git a/README.md b/README.md index 7e36a29..e6114b3 100644 --- a/README.md +++ b/README.md @@ -802,7 +802,7 @@ yippiekaiyay 2> ls_output.txt
Demonstrate Linux stderr to stdout redirection
-yippiekaiyay 1>&2 +yippiekaiyay &> file
@@ -6813,6 +6813,10 @@ https://idiallo.com/blog/c10k-2016 Explain Dark Data
+
+Explain MBR
+
+ ## Questions you CAN ask diff --git a/exercises/aws/README.md b/exercises/aws/README.md index cd0e7a3..53aa912 100644 --- a/exercises/aws/README.md +++ b/exercises/aws/README.md @@ -2059,6 +2059,10 @@ No. Since AWS reserves 5 IP addresses for every subnet, Kratos will have 32-5=27 It's better if Kratos uses a subnet of size /26 but good luck telling him that. +
+In order for AWS Lambda to have internet access
+
+ ##### AWS EC2 - ENI
diff --git a/exercises/git/README.md b/exercises/git/README.md index b8de1ae..3a8e202 100644 --- a/exercises/git/README.md +++ b/exercises/git/README.md @@ -10,6 +10,8 @@ ## Questions +### Git Basics +
How do you know if a certain directory is a git repository?
@@ -50,6 +52,10 @@ There are different ways to check whether a file is tracked or not: ...
+
+Explain what the file gitignore is used for
+
+
How can you see which changes have done before committing them?
@@ -58,6 +64,48 @@ There are different ways to check whether a file is tracked or not:
What git status does?
+ +`git status` helps you to understand the tracking status of files in your repository. Focusing on working directory and staging area - you can learn which changes were made in the working directory, which changes are in the staging area and in general, whether files are being tracked or not. +
+ +
+You've created new files in your repository. How to make sure Git tracks them?
+ +`git add FILES` +
+ +### Scenarios + +
+You have files in your repository you don't want Git to ever track them. What should you be doing to avoid ever tracking them?
+ +Add them to the file `.gitignore`. This will make sure these files are never added to staging area. +
+ +
+A development team in your organization is using a monorepo and it's became quite big, including hundred thousands of files. They say running many git operations is taking a lot of time to run (like git status for example). Why does that happen and what can you do in order to help them?
+ +Many Git operations are related to filesystem state. `git status` for example will run diffs to compare HEAD commit to index and another diff to compare index to working directory. As part of these diffs, it would need to run quite a lot of `lstat()` system calls. When running on hundred thousands of files, it can take seconds if not minutes. + +One thing to do about it, would be to use the built-in `fsmonitor` (filesystem monitor) of Git. With fsmonitor (which integrated with Watchman), Git spawn a daemon that will watch for any changes continuously in the working directory of your repository and will cache them . This way, when you run `git status` instead of scanning the working directory, you are using a cached state of your index. + +

+ +

+ +Next, you can try to enable `feature.manyFile` with `git config feature.manyFiles true`. This does two things: + + 1. Sets `index.version = 4` which enables path-prefix compression in the index + 2. Sets `core.untrackedCache=true` which by default is set to `keep`. The untracked cache is quite important concept. What it does is to record the mtime of all the files and directories in the working directory. This way, when time comes to iterate over all the files and directories, it can skip those whom mtime wasn't updated. + +Before enabling it, you might want to run `git update-index --test-untracked-cache` to test it out and make sure mtime operational on your system. + +Git also has the built-in `git-maintainence` command which optimizes Git repository so it's faster to run commands like `git add` or `git fatch` and also, the git repository takes less disk space. It's recommended to run this command periodically (e.g. each day). + +In addition, track only what is used/modified by developers - some repositories may include generated files that are required for the project to run properly (or support certain accessibility options), but not actually being modified by any way by the developers. In that case, tracking them is futile. +In order to avoid populating those file in the working directory, one can use the `sparse checkout` feature of Git. + +Finally, with certain build systems, you can know which files are being used/relevant exactly based on the component of the project that the developer is focusing on. This, together with the `sparse checkout` can lead to a situation where only a small subset of the files are being populated in the working directory. Making commands like `git add`, `git status`, etc. really quick
### Branches @@ -103,6 +151,12 @@ Git runs update-ref to add the SHA-1 of the last commit of the branch you're on Using the HEAD file: `.git/HEAD`
+
+What unstaged means in regards to Git?
+ +A file the is in the working directory but is not in the HEAD nor in the staging area, referred to as "unstaged". +
+
True or False? when you git checkout some_branch, Git updates .git/HEAD to /refs/heads/some_branch
@@ -249,3 +303,51 @@ False. If you would like to keep a file on your filesystem, use `git reset
+ +## Git Diff + +
+What git diff does?
+ +git diff can compare between two commits, two files, a tree and the staging area, etc. +
+ +
+Which one is faster? git diff-index HEAD or git diff HEAD
+ +`git diff-index` is faster but to be fair, it's because it does less. `git diff index` won't look at the content, +only metadata like timestamps. +
+ +
+By which other Git commands does git diff used?
+ +The diff mechanism used by `git status` to perform a comparison and let the user know which files are being tracked +
+ +## Git Internal + +
+Describe how `git status` works
+ +Shortly, it runs `git diff` twice: + +1. Compare between HEAD to staging area +2. Compare staging area to working directory +
+ +
+If git status has to run diff on all the files in the HEAD commit to those in staging area/index and another one on staging area/index and working directory, how is it fairly fast?
+ +One reason is about the structure of the index, commits, etc. + +* Every file in a commit is stored in tree object +* The index is then a flattened structure of tree objects +* All files in the index have pre-computed hashes +* The diff operation then, is comparing the hashes + +Another reason is caching + +* Index caches information on working directory +* When Git has the information for certain file cached, there is no need to look at the working directory file +
diff --git a/images/design/development/git_fsmonitor.png b/images/design/development/git_fsmonitor.png new file mode 100644 index 0000000000000000000000000000000000000000..95f822670a252db3193400942a5b23fb6dc12865 GIT binary patch literal 40291 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 eBB?>B^