# GIT ಸಂರಚನೆ

ನೀವು ಮೊದಲು Git ಅನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ನೀವು ಈ ರೀತಿಯ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಿದ್ದೀರಾ:

```bash
$ git commit
*** ದಯವಿಟ್ಟು ನಿಮ್ಮ ಬಗ್ಗೆ ಮಾಹಿತಿ ನೀಡಿ.

ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

ನಿಮ್ಮ ಖಾತೆಯ ಪೂರ್ವನಿಯೋಜಿತ ಗುರುತನ್ನು ಹೊಂದಿಸಲು.
"--global" ಅನ್ನು ಹೊರತುಪಡಿಸಿ ಈ ಪರಿಚಯವನ್ನು ಮಾತ್ರ ಈ ರೆಪೊಸಿಟರಿಗೆ ಬಳಸಲು.
```

Git ನಲ್ಲಿ commit ಮಾಡಲು ನೀವು ಯಾರು ಎಂಬುದನ್ನು ಅದು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ. ನೀವು ತಂಡವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ, ಯಾರು ಯಾವ ಭಾಗವನ್ನು ಪರಿಷ್ಕರಿಸಿದ್ದಾರೆ ಮತ್ತು ಯಾವಾಗ ಎಂಬುದನ್ನು ಗಮನಿಸುವ ಸಾಮರ್ಥ್ಯ ಇರಬೇಕು. ಆದ್ದರಿಂದ Git ಪ್ರತಿಯೊಂದು commit ಅನ್ನು ಹೆಸರು ಮತ್ತು ಇಮೇಲ್ ಗೆ ಲಿಂಕ್ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

Git commit ಆಜ್ಞೆಗೆ ನಿಮ್ಮ ಇಮೇಲ್ ಮತ್ತು ಹೆಸರನ್ನು ಒದಗಿಸುವ ಹಲವಾರು ವಿಧಾನಗಳಿವೆ. ನಾವು ಕೆಲವು ವಿಧಾನಗಳನ್ನು ಇಲ್ಲಿ ನೋಡೋಣ.

### ಜಾಗತಿಕ ಸಂರಚನೆ (Global Configuration)

ನೀವು ಜಾಗತಿಕ ಸಂರಚನೆಯಲ್ಲಿ (global configuration) ಏನಾದರೂ ಭದ್ರಗೊಳಿಸಿದರೆ, ಅದು ನೀವು ಬಳಸುವ ಎಲ್ಲಾ ಸಿಸ್ಟಂಗಳಲ್ಲಿ ಮತ್ತು ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಲಭ್ಯವಾಗಿರುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ವಿಧಾನ.

ಜಾಗತಿಕ ಸಂರಚನೆಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು:

```bash
$ git config --global <variable name> <value>
```

ಬಳಕೆದಾರ ವಿವರಗಳಿಗಾಗಿ:

```bash
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
```

### ರೆಪೊಸಿಟರಿ-ನಿರ್ದಿಷ್ಟ ಸಂರಚನೆ (Repository-specific Configuration)

ಈ ಸಂರಚನೆ ನಿರ್ದಿಷ್ಟ ರೆಪೊಸಿಟರಿಯ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಒಬ್ಬ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ನಿಮ್ಮ ಕಂಪನಿಯ ಇಮೇಲ್ ಅನ್ನು ಬಳಸಲು ಇಚ್ಛಿಸಿದರೆ, ಈ ವಿಧಾನ ಉಪಯುಕ್ತವಾಗಿದೆ.

```bash
$ git config user.email "you@alternate.com"
$ git config user.name "Your Name"
```

### ಆಜ್ಞಾ ಸಾಲಿನ ಸಂರಚನೆ (Command-line Configuration)

ಈ ಸಂರಚನೆ ಕೇವಲ ಆಜ್ಞೆ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಸಮಯದಲ್ಲಿ ಮಾತ್ರ ಅನ್ವಯವಾಗುತ್ತದೆ. ಎಲ್ಲ Git ಆಜ್ಞೆಗಳಿಗೂ `-c` ಆರ್ಗ್ಯೂಮೆಂಟ್ ಅನ್ನು ಬಳಸಬಹುದು.

```bash
$ git -c <variable-1>=<value> -c <variable-2>=<value> <command>
```

ಉದಾಹರಣೆಗೆ, commit ಆಜ್ಞೆಯನ್ನು ಈ ರೀತಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು:

```bash
git -c user.name='Your Name' -c user.email='you@example.com' commit -m "Your commit message"
```

### ಆದ್ಯತೆ ಬಗ್ಗೆ ಟಿಪ್ಪಣಿ (Precedence Note)

ಮೇಲಿನ ಮೂರು ವಿಧಾನಗಳಲ್ಲಿ, ಆದ್ಯತೆ ಕ್ರಮ ಹೀಗಿದೆ: **ಆಜ್ಞಾ ಸಾಲು (Command-line) > ರೆಪೊಸಿಟರಿ (Repository) > ಜಾಗತಿಕ (Global)**

ಹಾಗಾಗಿ, ಒಂದು ಸ್ಟಿಂಗ್ ಅನ್ನು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಮತ್ತು ಜಾಗತಿಕವಾಗಿ ಎರಡೂ ಹೊಂದಿಸಿದರೆ, ಆಜ್ಞಾ ಸಾಲಿನ ಸಂಯೋಜನೆಯು ಪ್ರಸ್ತಾಪಿತ Git ಕಾರ್ಯಾಚರಣೆಗೆ ಅನ್ವಯವಾಗುತ್ತದೆ.

## ಬಳಕೆದಾರ ವಿವರಗಳ ಹೊರತಾಗಿ (Beyond User Details)

ನಾವು ಈವರೆಗೆ ಬಳಕೆದಾರ ವಿವರಗಳ ಬಗ್ಗೆ ಮಾತ್ರ ಚರ್ಚಿಸಿದ್ದೇವೆ, ಆದರೆ Git ನಲ್ಲಿ ಹಲವಾರು ಇತರ ಸಂರಚನಾ ಆಯ್ಕೆಗಳೂ ಲಭ್ಯವಿವೆ:

1. `core.editor` - commit ಸಂದೇಶಗಳನ್ನು ಬರೆಯಲು ಬಳಸುವ ಎಡಿಟರ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು.
2. `commit.template` - commit ಸಂದೇಶದ ಮಾದರಿಯನ್ನು ಒದಗಿಸಲು.
3. `color.ui` - Git ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ಬಣ್ಣ ಬಳಸುವ ಅಥವಾ ಬಳಸದಿರಬಹುದೆಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು.

Git ಸಂರಚನೆ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ಈ ಲಿಂಕ್ ಅನ್ನು ಭೇಟಿ ನೀಡಿ:

[git-scm.com](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration).

