What happens when you run `git add .git` in a Git repository?

While it seemed to do nothing, it gave no warning or error message. Any ideas?

  • Get sorted github repository search results by “some” attribute(the number of forks or stars)
  • code coverage of new lines between 2 commits in ruby
  • Using IntelliJ IDEA for project using Makefiles
  • Git: best way to remove all changes from a given file for one branch
  • Migrate git repo from Google Code to Github
  • parseable git log output
  • Why branch when I have master locally?
  • How to avoid “warning: LF will be replaced by CRLF in”?
  • Where do piped files go on Windows?
  • Revert git remote accidentally pushed repository changes
  • how to use tags in GIT
  • Delete all tags from a Git repository
  • 2 Solutions collect form web for “What happens when you run `git add .git` in a Git repository?”

    Comment from Git source:

     * Read a directory tree. We currently ignore anything but
     * directories, regular files and symlinks. That's because git
     * doesn't handle them at all yet. Maybe that will change some
     * day.
     * Also, we ignore the name ".git" (even if it is not a directory).
     * That likely will not change.

    Experiment to see what happend if I create a file .git and try to add it:
    (on Windows I cannot create a file .git when there is already a .git folder. I also could have created a .git elsewhere in a sub directory, but wanted to try out --git-dir and --work-tree which I haven’t used before. After all I am experimenting. This also allows me to show that I can add the git metadata folder as seen below)

    git --git-dir="c:/test" init
    touch blah
    git --git-dir="c:/test" --work-tree="." add .
    git --git-dir="c:/test" --work-tree="." status ( shows blah added)
    touch .git
    git --git-dir="c:/test" --work-tree="." add .git ( no output as usual)
    git --git-dir="c:/test" --work-tree="." status ( only blah shown)

    So yeah, .git – be it directory or file, is ignored by git.

    And if I do something like below:

    git --git-dir="c:/test" --work-tree="c:/test" add c:/test

    all the meta files get added.

    So again, it is only .git that is ignored not the git metadata folder (that you set via --git-dir) as far as I can see.

    Short answer: Nothing.

    Long answer:

    laptop:Projects ctcherry$ mkdir test
    laptop:Projects ctcherry$ cd test
    laptop:test ctcherry$ git init .
    Initialized empty Git repository in /Users/ctcherry/Projects/test/.git/
    laptop:test ctcherry$ git add .git
    laptop:test ctcherry$ git status
    # On branch master
    # Initial commit
    nothing to commit (create/copy files and use "git add" to track)
    laptop:test ctcherry$ 
    Git Baby is a git and github fan, let's start git clone.