> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/linux/cum-instalezi-git-si-configurezi-chei-ssh.md).

# Cum instalezi Git și configurezi chei SSH

Git este standardul pentru controlul versiunilor. Daca planuiesti sa scrii cod, sa deploy-uiesi proiecte sau sa contribui la open source, ai nevoie de el pe VPS-ul tau. Cheile SSH iti permit sa te autentifici pe GitHub, GitLab sau Bitbucket fara sa tastezi o parola de fiecare data.

### Pasul 1: Instaleaza Git

Ubuntu face acest lucru simplu:

```bash
sudo apt update
sudo apt install git -y
```

Verifica versiunea:

```bash
git --version
```

### Pasul 2: Configureaza identitatea

Git trebuie sa stie cine esti pentru commit-urile pe care le faci:

```bash
git config --global user.name "Numele Tau"
git config --global user.email "emailul@tau.ro"
```

Foloseste acelasi nume si email pe care le ai pe GitHub.

### Pasul 3: Genereaza o cheie SSH

O cheie SSH are doua parti. O cheie privata care ramane pe server, si o cheie publica pe care o dai la GitHub. Genereaza una cu:

```bash
ssh-keygen -t ed25519 -C "emailul@tau.ro"
```

Vei fi intrebat unde sa o salvezi. Apasa Enter pentru a accepta locatia implicita (`~/.ssh/id_ed25519`). Poti seta si o fraza de securitate, sau o lasi goala.

### Pasul 4: Adauga cheia la SSH agent

```bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
```

### Pasul 5: Copiaza cheia publica

Afiseaza cheia publica pentru a o copia:

```bash
cat ~/.ssh/id_ed25519.pub
```

Va arata cam asa:

```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOc... emailul@tau.ro
```

Selecteaza si copiaza intreaga linie.

### Pasul 6: Adauga cheia pe GitHub

1. Mergi la [github.com/settings/keys](https://github.com/settings/keys)
2. Apasa **New SSH key**
3. Da-i un nume, de exemplu `ITITAN VPS`
4. Lipeste cheia publica in campul **Key**
5. Apasa **Add SSH key**

### Pasul 7: Testeaza conexiunea

```bash
ssh -T git@github.com
```

Ar trebui sa vezi:

```
Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
```

### Clonezi un repository

Acum poti clona orice repository la care ai acces:

```bash
git clone git@github.com:utilizator/repository.git
```

Observa prefixul `git@github.com:` in loc de `https://`. Acela este formatul SSH.

### Comenzi Git utile

| Comanda                       | Ce face                                      |
| ----------------------------- | -------------------------------------------- |
| `git status`                  | Verifica ce fisiere s-au modificat           |
| `git add fisier`              | Pregateste un fisier pentru commit           |
| `git commit -m "mesaj"`       | Salveaza modificarile                        |
| `git push`                    | Trimite commit-urile pe remote               |
| `git pull`                    | Primeste cele mai noi schimbari de pe remote |
| `git log --oneline`           | Vezi istoricul commit-urilor                 |
| `git branch`                  | Listeaza branch-urile                        |
| `git checkout -b nume-branch` | Creaza si trece pe un branch nou             |

### Probleme comune

**"Permission denied (publickey)"** inseamna ca cheia publica nu a fost adaugata pe GitHub, sau folosesti cheia gresita. Verifica ca ai copiat fisierul corect (`id_ed25519.pub`, nu `id_ed25519`).

**"Please make sure you have the correct access rights"** de obicei inseamna ca cheia ta nu este asociata cu repository-ul. Asigura-te ca esti adaugat ca colaborator sau ai acces la repo.

### Concluzie

Git si cheile SSH dureaza zece minute de configurat si iti fac viata mult mai usoara. De fiecare data cand nu mai tastezi o parola, te vei bucura ca ai facut asta.
