https://www.youtube.com/watch?v=jpy_SL05g7g&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk
================================================================================
git status
"There is no to commit"
How Git knows it?
================================================================================
================================================================================
Latest commit
================================================================================
If Git compares those 2, Git can know whether there is to commit or not
================================================================================
================================================================================
If following contents
is same to
it means there is no to commit
================================================================================
Edit f2.txt
vim f2.txt
git status
================================================================================
above contents will be different "edited contents"
So, Git knows there is something to commit
================================================================================
git add f2.txt
git status
================================================================================
Before "add", f2.txt is not the object for commit
(changes not staged for commit)
================================================================================
After "add", it's "changes to be commited"
================================================================================
you can see "x y z"
================================================================================
Now, in index file, it's also "x y z"
================================================================================
when you do "add", from your working directory, files are passed to "index files"
when you do "commit", from index, your code is passed to "local repository" as tree, commit objects