Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • How Git store its files

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 568
    Comment on it

    In my Last Blog (init git) I mentioned how to initialize git repository, Now lets see what git init did and also understand where git stores its files to do version control on our project.

    On terminal use the UNIX ls command to list what's in the directory

    1. naveen@naveen:/var/www/html/RND/symfony_sites/symfony_todoapp$ ls
    you wont see anything here actually its empty

    pas special option here which is -la

    1. naveen@naveen:/var/www/html/RND/symfony_sites/symfony_todoapp$ ls -la

    ls with combination of -la will display all the hidden dot files and and also any file that has a dot in front of it , now you can see .git directory that is created by initialize command. Git stores all of its tracking information inside this .git directory. we can think of its as a Git's workspace where Git does everything for tracking the project

    If we want to remove Git and remove version control from our project , then simply remove this .git directory. Once you removed it git wont be no longer tracking our project.

    Lets see whats inside .git directory

    1. naveen@naveen:/var/www/html/RND/symfony_sites/symfony_todoapp/.git$ ls -la

    file's you will see could be something like these.

    1. drwxrwxr-x 7 naveen naveen 4096 Dec 14 11:59 .
    2. drwxr-xr-x 9 naveen naveen 4096 Dec 14 11:59 ..
    3. drwxrwxr-x 2 naveen naveen 4096 Dec 14 11:59 branches
    4. -rw-rw-r-- 1 naveen naveen 92 Dec 14 11:59 config
    5. -rw-rw-r-- 1 naveen naveen 73 Dec 14 11:59 description
    6. -rw-rw-r-- 1 naveen naveen 23 Dec 14 11:59 HEAD
    7. drwxrwxr-x 2 naveen naveen 4096 Dec 14 11:59 hooks
    8. drwxrwxr-x 2 naveen naveen 4096 Dec 14 11:59 info
    9. drwxrwxr-x 4 naveen naveen 4096 Dec 14 11:59 objects
    10. drwxrwxr-x 4 naveen naveen 4096 Dec 14 11:59 refs

    do not touch or configure any of these files as git will be using them for tracking project. Only file that you could configure is config file. To configure this file it better and recommended to dot it using git commands

    everything that Git does is going to be stored in this single top-level directory, that's very different from svn. svn puts tracking files in every single directory in a project.So if you wanted to remove svn, you have to go through and actually pull out those .svn files from every single directory so that it will stop tracking those.

    Git doesn't do that, Git puts them all in .git directory at one place and that make easy to remove git from project

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Reset Password
Fill out the form below and reset your password: