Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
git_init [2018/05/30 12:32] – [Working with the template directory] rpjdaygit_init [2019/02/21 12:57] (current) – [Overview (not quite done here)] rpjday
Line 1: Line 1:
-===== Overview =====+===== Overview (not quite done here) =====
  
-Basic operation of creating new repo or enhancing an existing repo with ''git init''.+Basic and advanced features for initializing Git repository -- more content to be added.
  
-===== Default content of new .git directory =====+===== Working with the template directory =====
  
-<code> +By default, ''git init'' will populate your new ''.git'' directory with some auto-generated content, plus all of the content of the appropriate //template// directory.
-. +
-├── branches +
-├── config +
-├── description +
-├── HEAD +
-├── hooks +
-│   ├── applypatch-msg.sample +
-│   ├── commit-msg.sample +
-│   ├── fsmonitor-watchman.sample +
-│   ├── post-update.sample +
-│   ├── pre-applypatch.sample +
-│   ├── pre-commit.sample +
-│   ├── prepare-commit-msg.sample +
-│   ├── pre-push.sample +
-│   ├── pre-rebase.sample +
-│   ├── pre-receive.sample +
-│   └── update.sample +
-├── info +
-│   └── exclude +
-├── objects +
-│   ├── info +
-│   └── pack +
-└── refs +
-    ├── heads +
-    └── tags +
-</code>+
  
-===== Running "git init" in an existing repository =====+If you don't specify a template directory, the default used is ''/usr/share/git-core/templates'', which contains something like this:
  
 <code> <code>
-Running git init in an existing repository is safeIt will not +
-overwrite things that are already there. The primary reason for +├── branches/
-rerunning git init is to pick up newly added templates (or to +
-move the repository to another place if --separate-git-dir is +
-given). +
-</code> +
- +
-===== Working with the template directory ===== +
- +
-By default, ''git init'' will populate your new ''.git'' directory with the contents of ''/usr/share/git-core/templates/'', without overwriting existing content of the same name: +
- +
-<code> +
-├── branches+
 ├── description ├── description
-├── hooks +├── hooks/ 
-│   ├── applypatch-msg.sample +│   ├── applypatch-msg.sample* 
-│   ├── commit-msg.sample +│   ├── commit-msg.sample* 
-│   ├── fsmonitor-watchman.sample +│   ├── fsmonitor-watchman.sample* 
-│   ├── post-update.sample +│   ├── post-update.sample* 
-│   ├── pre-applypatch.sample +│   ├── pre-applypatch.sample* 
-│   ├── pre-commit.sample +│   ├── pre-commit.sample* 
-│   ├── prepare-commit-msg.sample +│   ├── prepare-commit-msg.sample* 
-│   ├── pre-push.sample +│   ├── pre-push.sample* 
-│   ├── pre-rebase.sample +│   ├── pre-rebase.sample* 
-│   ├── pre-receive.sample +│   ├── pre-receive.sample* 
-│   └── update.sample +│   └── update.sample* 
-└── info+└── info/
     └── exclude     └── exclude
 </code> </code>
  
-You have the option of selecting a different template directory when you run ''git init'':+Rather than accepting the default directory and content, it's common for developers to want to immediately register their own hooks, which means setting up an alternate template directory. 
 + 
 +From the man page for "git init'':
  
 <code> <code>
 TEMPLATE DIRECTORY TEMPLATE DIRECTORY
-       Files and directories in the template directory whose name do +   Files and directories in the template directory whose name do 
-       not start with a dot will be copied to the $GIT_DIR after it is +   not start with a dot will be copied to the $GIT_DIR after it is 
-       created.+   created.
  
-       The template directory will be one of the following (in order):+   The template directory will be one of the following (in order):
  
-       ·   the argument given with the --template option;+   ·   the argument given with the --template option;
  
-       ·   the contents of the $GIT_TEMPLATE_DIR environment variable;+   ·   the contents of the $GIT_TEMPLATE_DIR environment variable;
  
-       ·   the init.templateDir configuration variable; or+   ·   the init.templateDir configuration variable; or
  
-       ·   the default template directory: +   ·   the default template directory: 
-           /usr/share/git-core/templates.+       /usr/share/git-core/templates.
  
-       The default template directory includes some directory +   The default template directory includes some directory 
-       structure, suggested "exclude patterns" (see gitignore(5)), and +   structure, suggested "exclude patterns" (see gitignore(5)), and 
-       sample hook files.+   sample hook files.
  
-       The sample hooks are all disabled by default, To enable one of +   The sample hooks are all disabled by default, To enable one of 
-       the sample hooks rename it by removing its .sample suffix.+   the sample hooks rename it by removing its .sample suffix.
 </code> </code>
  • git_init.1527683552.txt.gz
  • Last modified: 2018/05/30 12:32
  • by rpjday