kılavuz: dil dizinleri (en/tr/de/fr/ru) + dil değiştirici ve bölüm gezinmesi

- iki dilli tek dosyalar en/ ve tr/ altına ayrıldı
- Almanca, Fransızca, Rusça çeviriler eklendi (10 bölüm)
- kök README dil seçici oldu; her dilde kendi içindekiler sayfası
- her bölüme dil değiştirici satırı + önceki/sonraki gezinme eklendi
This commit is contained in:
semih
2026-07-24 10:21:13 +03:00
parent dfebe8a742
commit 01e9b4d15f
59 changed files with 2697 additions and 705 deletions
-73
View File
@@ -1,73 +0,0 @@
# 🇬🇧 02 — Creating a repository
A repository is one project. Create one per project, not one per file.
## Steps
1. Press **+** at the top right → **New Repository**.
2. **Owner** — yourself, or an organisation you belong to.
3. **Repository name** — lowercase, no spaces: `network-lab`, `web-site`, `guide`.
4. **Description** — one line explaining what it is. It appears in search results.
5. **Visibility**
- *Public* — anyone who can reach the server can read it.
- *Private* — only you and the people you invite.
6. **Initialize repository** — tick it. This creates the first commit with a `README.md`, so the repository is usable straight away.
7. Press **Create Repository**.
## Good names
| Instead of | Prefer |
|-----------|--------|
| `Yeni Proje (son)` | `yeni-proje` |
| `Ağ Ödevi 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Spaces and brackets in names make links harder to share and can confuse relative paths inside documents. Lowercase letters, digits and hyphens are always safe.
## After creation
- **Settings → Collaborators** — give other people read or write access.
- **Settings → Branches** — protect `main` so nobody commits to it directly.
- **Add File** — start filling the repository (chapter 03).
## Deleting a repository
**Settings → Danger Zone → Delete this repository.** You must type the repository name to confirm. This cannot be undone — the history goes with it.
---
# 🇹🇷 02 — Depo oluşturma
Depo, tek bir projedir. Her dosya için değil, her proje için bir depo açın.
## Adımlar
1. Sağ üstteki **+** → **Yeni Depo**.
2. **Sahip** — kendiniz veya üyesi olduğunuz bir organizasyon.
3. **Depo adı** — küçük harf, boşluksuz: `network-lab`, `web-site`, `guide`.
4. **Açıklama** — ne olduğunu anlatan tek satır. Arama sonuçlarında görünür.
5. **Görünürlük**
- *Herkese açık* — sunucuya erişebilen herkes okuyabilir.
- *Özel* — yalnız siz ve davet ettikleriniz.
6. **Depoyu başlat** — işaretleyin. İlk işlemeyi `README.md` ile oluşturur, depo hemen kullanılabilir olur.
7. **Depo Oluştur**'a basın.
## İyi adlar
| Yerine | Tercih edin |
|--------|-------------|
| `Yeni Proje (son)` | `yeni-proje` |
| `Ağ Ödevi 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Adlarda boşluk ve parantez, bağlantı paylaşmayı zorlaştırır ve belge içindeki göreli yolları karıştırabilir. Küçük harf, rakam ve tire her zaman güvenlidir.
## Oluşturduktan sonra
- **Ayarlar → Katkıcılar** — başkalarına okuma veya yazma yetkisi verin.
- **Ayarlar → Dallar** — `main` dalını koruyun ki kimse doğrudan işleme yapamasın.
- **Dosya Ekle** — depoyu doldurmaya başlayın (bölüm 03).
## Depo silme
**Ayarlar → Tehlikeli Bölge → Bu depoyu sil.** Onaylamak için depo adını yazmanız gerekir. Geri alınamaz — geçmiş de gider.
-89
View File
@@ -1,89 +0,0 @@
# 🇬🇧 05 — Deleting files and directories
Nothing is ever truly lost: a deletion is just another commit, and the old content stays in the history.
## Deleting one file
1. Open the file.
2. Press the **…** menu at the top right of the file view.
3. Choose **Delete this file** (or use the 🗑️ icon next to the edit pencil).
4. Write a commit message and press **Commit Changes**.
## Deleting a folder
1. Open the folder.
2. Press the **…** menu next to *Add File*.
3. Choose **Delete this directory**.
4. Commit.
Everything inside the folder is removed in that single commit.
## Deleting several files at once
The browser deletes one path at a time. For a large clean-up, work from your computer (chapter 10):
```bash
git rm -r old-folder
git commit -m "remove old folder"
git push
```
## Getting a deleted file back
1. Open **History** on the folder that used to contain it, or the repository history.
2. Find the commit *before* the deletion.
3. Open the file at that commit and copy the content, or press **Browse source at this point** and recreate it.
Anything that was ever committed can be recovered. Something you typed in the editor but never committed cannot.
## Careful with
- **Deleting the folder instead of the file** — check the menu title says *file* when you mean one file.
- **Protected branches** — if `main` is protected, deletion goes through a pull request instead (chapter 09).
- **Secrets** — deleting a password from a file does *not* remove it from the history. Change the password itself.
---
# 🇹🇷 05 — Dosya ve dizin silme
Hiçbir şey gerçekten kaybolmaz: silme de bir işlemedir ve eski içerik geçmişte durur.
## Tek dosya silme
1. Dosyayı açın.
2. Dosya görünümünün sağ üstündeki **…** menüsüne basın.
3. **Bu dosyayı sil**'i seçin (ya da düzenleme kaleminin yanındaki 🗑️ ikonunu kullanın).
4. Bir işleme mesajı yazıp **Değişiklikleri Uygula**'ya basın.
## Klasör silme
1. Klasörü açın.
2. *Dosya Ekle*'nin yanındaki **…** menüsüne basın.
3. **Bu dizini sil**'i seçin.
4. İşleyin.
Klasörün içindeki her şey o tek işlemede kaldırılır.
## Aynı anda birden çok dosya silme
Tarayıcı tek seferde tek yol siler. Büyük temizlik için bilgisayarınızdan çalışın (bölüm 10):
```bash
git rm -r eski-klasor
git commit -m "eski klasör kaldırıldı"
git push
```
## Silinen dosyayı geri getirme
1. Dosyanın bulunduğu klasörde **Geçmiş**'i ya da depo geçmişini açın.
2. Silmeden *önceki* işlemeyi bulun.
3. Dosyayı o işlemede açıp içeriği kopyalayın veya **Bu noktadaki kaynağa göz at** ile yeniden oluşturun.
Bir kez işlenmiş her şey geri getirilebilir. Editöre yazıp hiç işlemediğiniz bir şey getirilemez.
## Dikkat edilecekler
- **Dosya yerine klasörü silmek** — tek dosya kastediyorsanız menü başlığının *dosya* dediğine bakın.
- **Korumalı dallar** — `main` korumalıysa silme, değişiklik isteğiyle ilerler (bölüm 09).
- **Sırlar** — bir parolayı dosyadan silmek onu geçmişten *kaldırmaz*. Parolanın kendisini değiştirin.
-133
View File
@@ -1,133 +0,0 @@
# 🇬🇧 07 — Images and attachments
## Putting an image in a document
1. Upload the image next to the document: open the folder, **Add File → Upload File**.
2. Reference it from the Markdown file:
```markdown
![Network topology](topology.png)
```
The text in brackets is the description shown if the image cannot load, and read aloud by screen readers. Write a real description, not "image".
## Where to keep images
A predictable layout that always works:
```
project/
readme.md
assets/
topology.png
rack.jpg
```
and in `readme.md`:
```markdown
![Network topology](assets/topology.png)
```
## Naming — the one rule to remember
Use lowercase names without spaces for **folders** and image files:
| Fragile | Safe |
|---------|------|
| `Ekran Alıntısı.PNG` | `ekran-alintisi.png` |
| `1-) Inter-VLAN Notes/` | `01-inter-vlan/` |
If a name does contain spaces, write them as `%20` in the link:
```markdown
![Topology](Ekran%20Alintisi.PNG)
```
## Controlling the size
Markdown has no size option, so use a plain HTML tag when you need one:
```markdown
<img src="assets/topology.png" alt="Network topology" width="600">
```
## Linking a file instead of showing it
Drop the exclamation mark and you get a download link:
```markdown
[Packet Tracer file](main.pkt)
```
## Attachments in issues
While writing an issue or a comment, drag a file into the text box. It is uploaded and the link is inserted for you. Use this for screenshots and logs that do not belong in the repository itself.
---
# 🇹🇷 07 — Görseller ve ekler
## Belgeye görsel koyma
1. Görseli belgenin yanına yükleyin: klasörü açın, **Dosya Ekle → Dosya Yükle**.
2. Markdown dosyasından ona atıf yapın:
```markdown
![Ağ topolojisi](topoloji.png)
```
Köşeli parantezdeki metin, görsel yüklenemezse gösterilen açıklamadır ve ekran okuyucular tarafından okunur. "resim" değil, gerçek bir açıklama yazın.
## Görselleri nerede tutmalı
Her zaman işe yarayan öngörülebilir düzen:
```
proje/
readme.md
assets/
topoloji.png
kabinet.jpg
```
ve `readme.md` içinde:
```markdown
![Ağ topolojisi](assets/topoloji.png)
```
## Adlandırma — akılda kalacak tek kural
**Klasör** ve görsel adlarında boşluksuz, küçük harf kullanın:
| Kırılgan | Güvenli |
|----------|---------|
| `Ekran Alıntısı.PNG` | `ekran-alintisi.png` |
| `1-) Inter-VLAN Notlar/` | `01-inter-vlan/` |
Adda boşluk varsa bağlantıda `%20` olarak yazın:
```markdown
![Topoloji](Ekran%20Alintisi.PNG)
```
## Boyut ayarlama
Markdown'da boyut seçeneği yoktur; gerektiğinde düz HTML etiketi kullanın:
```markdown
<img src="assets/topoloji.png" alt="Ağ topolojisi" width="600">
```
## Göstermek yerine bağlantı vermek
Ünlem işaretini kaldırırsanız indirme bağlantısı olur:
```markdown
[Packet Tracer dosyası](main.pkt)
```
## Konulardaki ekler
Bir konu ya da yorum yazarken metin kutusuna dosya sürükleyin. Dosya yüklenir ve bağlantısı sizin için eklenir. Deponun kendisine ait olmayan ekran görüntüleri ve günlükler için bunu kullanın.
+32 -24
View File
@@ -1,40 +1,44 @@
# 📘 KabaForge Guide / KabaForge Kılavuzu # 📘 KabaForge Guide
Short, practical recipes for using KabaForge — no prior experience required. Short, practical recipes for using KabaForge — no prior experience required.
Every chapter is bilingual: **English first, Turkish below.** Choose your language / Dilinizi seçin / Sprache wählen / Choisissez votre langue / Выберите язык:
KabaForge kullanımı için kısa ve pratik tarifler — önceden bilgi gerekmez. | | Language | Dil | Start here |
Her bölüm iki dillidir: **önce İngilizce, altında Türkçe.** |---|----------|-----|------------|
| 🇬🇧 | English | İngilizce | [en/](en/README.md) |
| 🇹🇷 | Turkish | Türkçe | [tr/](tr/README.md) |
| 🇩🇪 | German | Almanca | [de/](de/README.md) |
| 🇫🇷 | French | Fransızca | [fr/](fr/README.md) |
| 🇷🇺 | Russian | Rusça | [ru/](ru/README.md) |
--- ---
## 📚 Chapters / Bölümler ## 📁 Structure / Yapı
| # | Chapter | Bölüm | ```
|---|---------|-------| en/ English
| 01 | [Getting started](01-getting-started/readme.md) | Başlarken | tr/ Türkçe
| 02 | [Creating a repository](02-create-repository/readme.md) | Depo oluşturma | de/ Deutsch
| 03 | [Adding and editing files](03-add-and-edit-files/readme.md) | Dosya ekleme ve düzenleme | fr/ Français
| 04 | [Creating directories](04-create-directory/readme.md) | Dizin oluşturma | ru/ Русский
| 05 | [Deleting files and directories](05-delete-files/readme.md) | Dosya ve dizin silme | ```
| 06 | [Markdown basics](06-markdown-basics/readme.md) | Markdown temelleri |
| 07 | [Images and attachments](07-images-and-media/readme.md) | Görseller ve ekler | Every language directory holds the same ten chapters, in the same numbered
| 08 | [Commits and history](08-commits-and-history/readme.md) | İşlemeler ve geçmiş | folders, so a path like `06-markdown-basics/readme.md` exists in all of them.
| 09 | [Branches and pull requests](09-branches-and-pull-requests/readme.md) | Dallar ve değişiklik istekleri |
| 10 | [Working from your computer](10-clone-and-tokens/readme.md) | Bilgisayarınızdan çalışma | Her dil dizini aynı on bölümü, aynı numaralı klasörlerde barındırır; bu yüzden
`06-markdown-basics/readme.md` gibi bir yol hepsinde bulunur.
--- ---
## 🚀 The 60-second version / 60 saniyelik özet ## 🚀 The 60-second version
**English**
1. Sign in at [forge.kabaforce.com](https://forge.kabaforce.com) with your KabaForce ID. 1. Sign in at [forge.kabaforce.com](https://forge.kabaforce.com) with your KabaForce ID.
2. Press **+ → New Repository**, give it a name, tick *Initialize repository*. 2. Press **+ → New Repository**, give it a name, tick *Initialize repository*.
3. Open the repository, press **Add File → New File**, write something, press **Commit Changes**. 3. Open the repository, press **Add File → New File**, write something, press **Commit Changes**.
4. Name a file `readme.md` and it is shown automatically on the folder page. 4. Name a file `readme.md` and it is shown automatically on the folder page.
**Türkçe** ## 🚀 60 saniyelik özet
1. [forge.kabaforce.com](https://forge.kabaforce.com) adresinde KabaForce ID ile giriş yapın. 1. [forge.kabaforce.com](https://forge.kabaforce.com) adresinde KabaForce ID ile giriş yapın.
2. **+ → Yeni Depo**'ya basın, bir ad verin, *Depoyu başlat* kutusunu işaretleyin. 2. **+ → Yeni Depo**'ya basın, bir ad verin, *Depoyu başlat* kutusunu işaretleyin.
@@ -43,8 +47,12 @@ Her bölüm iki dillidir: **önce İngilizce, altında Türkçe.**
--- ---
## 💡 How to read this guide / Bu kılavuz nasıl okunur ## ✍️ Adding a translation / Yeni dil ekleme
**English** — Chapters are independent. Jump to the one you need; each is a single page you can finish in a few minutes. Copy `en/` to a new two-letter directory (ISO 639-1), translate the ten
`readme.md` files, and add a row to the table above. Keep the folder names in
English so cross-language links stay identical.
**Türkçe** — Bölümler birbirinden bağımsızdır. İhtiyacınız olana atlayın; her biri birkaç dakikada bitirilebilecek tek sayfadır. `en/` dizinini iki harfli yeni bir dizine (ISO 639-1) kopyalayın, on adet
`readme.md` dosyasını çevirin ve yukarıdaki tabloya bir satır ekleyin. Klasör
adlarını İngilizce bırakın ki diller arası bağlantılar aynı kalsın.
+43
View File
@@ -0,0 +1,43 @@
# 01 — Erste Schritte
🌍 [English](../../en/01-getting-started/readme.md) · [Türkçe](../../tr/01-getting-started/readme.md) · **Deutsch** · [Français](../../fr/01-getting-started/readme.md) · [Русский](../../ru/01-getting-started/readme.md)
KabaForge ist der Ort, an dem Ihr Code, Ihre Dokumente und Ihre Projekthistorie leben. Dieses Kapitel meldet Sie an und zeigt Ihnen die Umgebung.
## Anmelden
1. Öffnen Sie [forge.kabaforce.com](https://forge.kabaforce.com).
2. Klicken Sie auf **Mit KabaForce-ID anmelden**.
3. Geben Sie Ihre KabaForce-Kontodaten auf `id.kabaforce.com` ein.
4. Sie kehren angemeldet zu KabaForge zurück.
Für KabaForge gibt es kein eigenes Passwort — Ihre KabaForce-ID ist das einzige Konto, das Sie brauchen. Falls Sie noch keines haben, nutzen Sie den Link **Registrieren** auf derselben Seite.
## Was Sie nach der Anmeldung sehen
| Bereich | Wofür er da ist |
|---------|-----------------|
| **Übersicht** (Startseite) | Letzte Aktivitäten in Ihren Repositories |
| **Erkunden** | Öffentliche Repositories auf diesem Server |
| **+** (oben rechts) | Neues Repository oder neue Organisation anlegen |
| **Avatar** (oben rechts) | Profil, Einstellungen und Abmelden |
## Begriffe, die Ihnen begegnen
- **Repository (Repo)** — ein Projekt: seine Dateien samt vollständiger Historie.
- **Commit** — eine gespeicherte Änderung mit einer beschreibenden Nachricht.
- **Branch** — ein paralleler Arbeitsstrang; der Standard heißt meist `main`.
- **Pull Request** — der Vorschlag, einen Branch in einen anderen zu überführen.
## Ihre ersten fünf Minuten
1. Klicken Sie auf **+ → Neues Repository**.
2. Nennen Sie es `test` (oder wie Sie mögen), setzen Sie den Haken bei *Repository initialisieren*, klicken Sie auf **Erstellen**.
3. Öffnen Sie es und klicken Sie auf **Datei hinzufügen → Neue Datei**.
4. Tippen Sie `readme.md` als Namen, schreiben Sie ein paar Zeilen, klicken Sie auf **Änderungen übernehmen**.
Sie haben jetzt ein Repository mit einer Startseite. Die nächsten Kapitel erklären jeden dieser Schritte im Detail.
---
📚 [Inhalt](../README.md) · [Weiter: 02 — Ein Repository anlegen](../02-create-repository/readme.md) ➡
+41
View File
@@ -0,0 +1,41 @@
# 02 — Ein Repository anlegen
🌍 [English](../../en/02-create-repository/readme.md) · [Türkçe](../../tr/02-create-repository/readme.md) · **Deutsch** · [Français](../../fr/02-create-repository/readme.md) · [Русский](../../ru/02-create-repository/readme.md)
Ein Repository ist ein Projekt. Legen Sie eines pro Projekt an, nicht eines pro Datei.
## Schritte
1. Klicken Sie oben rechts auf **+** → **Neues Repository**.
2. **Besitzer** — Sie selbst oder eine Organisation, der Sie angehören.
3. **Repository-Name** — klein geschrieben, ohne Leerzeichen: `network-lab`, `web-site`, `guide`.
4. **Beschreibung** — eine Zeile, die erklärt, worum es geht. Sie erscheint in Suchergebnissen.
5. **Sichtbarkeit**
- *Öffentlich* — jeder, der den Server erreicht, kann lesen.
- *Privat* — nur Sie und die Personen, die Sie einladen.
6. **Repository initialisieren** — Haken setzen. Damit entsteht der erste Commit mit einer `README.md`, das Repository ist sofort nutzbar.
7. Klicken Sie auf **Repository erstellen**.
## Gute Namen
| Statt | Besser |
|-------|--------|
| `Neues Projekt (final)` | `neues-projekt` |
| `Netzwerk Übung 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Leerzeichen und Klammern in Namen erschweren das Teilen von Links und können relative Pfade in Dokumenten durcheinanderbringen. Kleinbuchstaben, Ziffern und Bindestriche sind immer sicher.
## Nach dem Anlegen
- **Einstellungen → Mitarbeiter** — anderen Lese- oder Schreibrechte geben.
- **Einstellungen → Branches** — `main` schützen, damit niemand direkt darauf committet.
- **Datei hinzufügen** — das Repository füllen (Kapitel 03).
## Ein Repository löschen
**Einstellungen → Gefahrenzone → Dieses Repository löschen.** Zur Bestätigung müssen Sie den Repository-Namen eintippen. Das lässt sich nicht rückgängig machen — die Historie geht mit.
---
⬅ [Zurück: 01 — Erste Schritte](../01-getting-started/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 03 — Dateien hinzufügen und bearbeiten](../03-add-and-edit-files/readme.md) ➡
+52
View File
@@ -0,0 +1,52 @@
# 03 — Dateien hinzufügen und bearbeiten
🌍 [English](../../en/03-add-and-edit-files/readme.md) · [Türkçe](../../tr/03-add-and-edit-files/readme.md) · **Deutsch** · [Français](../../fr/03-add-and-edit-files/readme.md) · [Русский](../../ru/03-add-and-edit-files/readme.md)
Alles in diesem Kapitel passiert im Browser. Es muss nichts installiert werden.
## Das Menü „Datei hinzufügen“
Öffnen Sie ein Repository (oder einen Ordner darin) und klicken Sie auf **Datei hinzufügen**:
| Eintrag | Wofür |
|---------|-------|
| **Neue Datei** | Eine Datei von Hand schreiben — Notizen, Code, `readme.md` |
| **Neues Verzeichnis** | Einen leeren Ordner anlegen (Kapitel 04) |
| **Datei hochladen** | Dateien vom eigenen Rechner — Bilder, PDFs, Archive |
| **Patch** | Ein fertiges Diff anwenden |
## Eine neue Datei schreiben
1. **Datei hinzufügen → Neue Datei**.
2. Tippen Sie oben den Dateinamen ein, zum Beispiel `notizen.md`.
Tippen Sie `docs/notizen.md`, wird der Ordner `docs` gleich mit angelegt.
3. Schreiben Sie den Inhalt in den Editor.
4. Füllen Sie unten den Commit-Kasten aus:
- **Zusammenfassung** — kurz, in der Befehlsform: *Einrichtungsnotizen hinzufügen*.
- **Beschreibung** — optionale Details.
5. Wählen Sie **Direkt auf `main` committen** oder *einen neuen Branch anlegen*, wenn Sie erst eine Prüfung möchten (Kapitel 09).
6. Klicken Sie auf **Änderungen übernehmen**.
## Dateien hochladen
1. **Datei hinzufügen → Datei hochladen**.
2. Ziehen Sie Dateien hinein oder klicken Sie in das Feld, um sie auszuwählen.
3. Für einen Unterordner tragen Sie den Ordnernamen oben im Pfadfeld ein.
4. Klicken Sie auf **Änderungen übernehmen**.
Sehr große Dateien (Video, Datenträgerabbilder) gehören in einen Dateispeicher, nicht in ein Repository — die Historie bewahrt jede Version für immer auf.
## Eine vorhandene Datei bearbeiten
1. Öffnen Sie die Datei.
2. Klicken Sie oben rechts auf das Stift-Symbol ✏️.
3. Ändern Sie den Text; der Reiter **Änderungen in der Vorschau** zeigt, was Sie geändert haben.
4. Committen Sie wie oben.
## Umbenennen und verschieben
Beim Bearbeiten können Sie den Pfad ändern: Klicken Sie in das Namensfeld und tippen Sie einen neuen Pfad, z. B. `docs/notizen.md`. Beim Commit wird die Datei verschoben — die Historie bleibt erhalten.
---
⬅ [Zurück: 02 — Ein Repository anlegen](../02-create-repository/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 04 — Verzeichnisse anlegen](../04-create-directory/readme.md) ➡
+50
View File
@@ -0,0 +1,50 @@
# 04 — Verzeichnisse anlegen
🌍 [English](../../en/04-create-directory/readme.md) · [Türkçe](../../tr/04-create-directory/readme.md) · **Deutsch** · [Français](../../fr/04-create-directory/readme.md) · [Русский](../../ru/04-create-directory/readme.md)
## Der schnelle Weg
1. Öffnen Sie das Repository oder den Ordner, in dem der neue Ordner liegen soll.
2. **Datei hinzufügen → Neues Verzeichnis**.
3. Tippen Sie den Ordnernamen ein, z. B. `docs`.
4. Klicken Sie auf **Änderungen übernehmen**.
Über dem Namensfeld zeigt die Seite, wo der Ordner angelegt wird (`aktueller/pfad/`) — Sie wissen also immer, wo Sie sind.
## Verschachtelte Ordner in einem Zug
Tippen Sie einen Pfad statt eines einzelnen Namens:
```
docs/images
```
Das legt `docs` und darin `images` in einem einzigen Commit an.
## Warum eine Datei `.gitkeep` auftaucht
Versionsverwaltung verfolgt *Dateien*, keine leeren Ordner. Damit ein noch leerer Ordner erhalten bleibt, legt KabaForge darin eine leere Datei namens `.gitkeep` ab. Sie hat keinerlei Wirkung auf Ihr Projekt — löschen Sie sie, sobald der Ordner echten Inhalt hat, oder lassen Sie sie einfach liegen.
## Der andere Weg: einen Ordner beim Anlegen einer Datei erzeugen
**Datei hinzufügen → Neue Datei** und im Namensfeld einen Pfad eintippen:
```
berichte/2026/januar.md
```
Beide Ordner und die Datei entstehen gemeinsam. Nutzen Sie das, wenn Sie die erste Datei schon kennen.
## Namensregeln, die Ärger ersparen
| Vermeiden | Nutzen |
|-----------|--------|
| `Netzwerk Übung (1)` | `network-lab-01` |
| `Meine Notizen` | `meine-notizen` oder `notes` |
| `bilder und anhänge` | `assets` |
Ordnernamen mit **Leerzeichen** oder Klammern erschweren das Teilen von Links, und relative Bildpfade in Markdown werden anfälliger. Kleinbuchstaben, Ziffern und Bindestriche sind immer sicher.
---
⬅ [Zurück: 03 — Dateien hinzufügen und bearbeiten](../03-add-and-edit-files/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 05 — Dateien und Verzeichnisse löschen](../05-delete-files/readme.md) ➡
+49
View File
@@ -0,0 +1,49 @@
# 05 — Dateien und Verzeichnisse löschen
🌍 [English](../../en/05-delete-files/readme.md) · [Türkçe](../../tr/05-delete-files/readme.md) · **Deutsch** · [Français](../../fr/05-delete-files/readme.md) · [Русский](../../ru/05-delete-files/readme.md)
Nichts geht wirklich verloren: Eine Löschung ist nur ein weiterer Commit, und der alte Inhalt bleibt in der Historie.
## Eine einzelne Datei löschen
1. Öffnen Sie die Datei.
2. Klicken Sie oben rechts in der Dateiansicht auf das Menü **…**.
3. Wählen Sie **Diese Datei löschen** (oder das Symbol 🗑️ neben dem Bearbeitungsstift).
4. Schreiben Sie eine Commit-Nachricht und klicken Sie auf **Änderungen übernehmen**.
## Einen Ordner löschen
1. Öffnen Sie den Ordner.
2. Klicken Sie auf das Menü **…** neben *Datei hinzufügen*.
3. Wählen Sie **Dieses Verzeichnis löschen**.
4. Committen Sie.
Alles im Ordner wird in diesem einen Commit entfernt.
## Mehrere Dateien auf einmal löschen
Der Browser löscht einen Pfad nach dem anderen. Für großes Aufräumen arbeiten Sie vom eigenen Rechner (Kapitel 10):
```bash
git rm -r alter-ordner
git commit -m "alten Ordner entfernen"
git push
```
## Eine gelöschte Datei zurückholen
1. Öffnen Sie **Historie** im Ordner, der sie enthielt, oder die Repository-Historie.
2. Suchen Sie den Commit *vor* der Löschung.
3. Öffnen Sie die Datei in diesem Commit und kopieren Sie den Inhalt, oder klicken Sie auf **Quellcode zu diesem Zeitpunkt ansehen** und legen Sie sie neu an.
Alles, was jemals committet wurde, lässt sich wiederherstellen. Etwas, das Sie im Editor getippt, aber nie committet haben, nicht.
## Vorsicht bei
- **Ordner statt Datei löschen** — prüfen Sie, ob im Menü *Datei* steht, wenn Sie eine Datei meinen.
- **Geschützten Branches** — ist `main` geschützt, läuft die Löschung über einen Pull Request (Kapitel 09).
- **Geheimnissen** — ein Passwort aus einer Datei zu löschen entfernt es *nicht* aus der Historie. Ändern Sie das Passwort selbst.
---
⬅ [Zurück: 04 — Verzeichnisse anlegen](../04-create-directory/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 06 — Markdown-Grundlagen](../06-markdown-basics/readme.md) ➡
+83
View File
@@ -0,0 +1,83 @@
# 06 — Markdown-Grundlagen
🌍 [English](../../en/06-markdown-basics/readme.md) · [Türkçe](../../tr/06-markdown-basics/readme.md) · **Deutsch** · [Français](../../fr/06-markdown-basics/readme.md) · [Русский](../../ru/06-markdown-basics/readme.md)
Markdown ist einfacher Text mit ein paar Zeichensetzungsregeln. Dateien mit der Endung `.md` werden automatisch gerendert, und eine Datei namens `readme.md` erscheint auf der Seite ihres Ordners.
## Überschriften
```markdown
# Titel
## Abschnitt
### Unterabschnitt
```
Lassen Sie vor und nach einer Überschrift eine Leerzeile.
## Text
```markdown
**fett** *kursiv* ~~durchgestrichen~~ `Code`
```
Ein einzelner Zeilenumbruch wird ignoriert. Für einen neuen Absatz lassen Sie eine Leerzeile.
## Listen
```markdown
- erstens
- zweitens
- verschachtelt (zwei Leerzeichen)
1. Schritt eins
2. Schritt zwei
```
## Links
```markdown
[KabaForge](https://forge.kabaforce.com)
[Kapitel 04](../04-create-directory/readme.md)
```
Links auf Dateien im selben Repository schreiben Sie am besten als relative Pfade — so funktionieren sie in jedem Branch weiter.
## Code
Umzäunte Blöcke behalten die Einrückung und färben den Code ein. Schreiben Sie die Sprache hinter die öffnende Zaunzeile:
~~~markdown
```bash
git status
```
~~~
## Tabellen
```markdown
| Spalte | Bedeutung |
|--------|-----------|
| `main` | Standard-Branch |
| `.md` | Markdown-Datei |
```
## Zitate, Linien, Aufgaben
```markdown
> Eine zitierte Notiz.
---
- [x] erledigt
- [ ] noch offen
```
## Praktische Tipps
- Vor dem Commit ansehen: Der Reiter **Vorschau** im Editor zeigt genau das, was andere sehen werden.
- Schreiben Sie in langen Dokumenten einen Satz pro Zeile — Unterschiede zwischen Versionen bleiben lesbar.
- Emoji funktionieren direkt: 📌 ✅ ⚠️
---
⬅ [Zurück: 05 — Dateien und Verzeichnisse löschen](../05-delete-files/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 07 — Bilder und Anhänge](../07-images-and-media/readme.md) ➡
+71
View File
@@ -0,0 +1,71 @@
# 07 — Bilder und Anhänge
🌍 [English](../../en/07-images-and-media/readme.md) · [Türkçe](../../tr/07-images-and-media/readme.md) · **Deutsch** · [Français](../../fr/07-images-and-media/readme.md) · [Русский](../../ru/07-images-and-media/readme.md)
## Ein Bild in ein Dokument einbauen
1. Laden Sie das Bild neben das Dokument: Ordner öffnen, **Datei hinzufügen → Datei hochladen**.
2. Verweisen Sie in der Markdown-Datei darauf:
```markdown
![Netzwerktopologie](topologie.png)
```
Der Text in den eckigen Klammern ist die Beschreibung, die erscheint, wenn das Bild nicht geladen werden kann, und die Screenreader vorlesen. Schreiben Sie eine echte Beschreibung, nicht „Bild“.
## Wo Bilder liegen sollten
Ein vorhersehbarer Aufbau, der immer funktioniert:
```
projekt/
readme.md
assets/
topologie.png
rack.jpg
```
und in `readme.md`:
```markdown
![Netzwerktopologie](assets/topologie.png)
```
## Benennung — die eine Regel
Verwenden Sie für **Ordner** und Bilddateien Kleinbuchstaben ohne Leerzeichen:
| Anfällig | Sicher |
|----------|--------|
| `Bildschirmfoto.PNG` | `bildschirmfoto.png` |
| `1-) Inter-VLAN Notizen/` | `01-inter-vlan/` |
Enthält ein Name doch Leerzeichen, schreiben Sie sie im Link als `%20`:
```markdown
![Topologie](Bildschirmfoto%20neu.PNG)
```
## Die Größe steuern
Markdown kennt keine Größenangabe; nutzen Sie bei Bedarf einfaches HTML:
```markdown
<img src="assets/topologie.png" alt="Netzwerktopologie" width="600">
```
## Eine Datei verlinken, statt sie anzuzeigen
Lassen Sie das Ausrufezeichen weg, und Sie erhalten einen Download-Link:
```markdown
[Packet-Tracer-Datei](main.pkt)
```
## Anhänge in Issues
Ziehen Sie beim Schreiben eines Issues oder Kommentars eine Datei in das Textfeld. Sie wird hochgeladen und der Link automatisch eingefügt. Nutzen Sie das für Screenshots und Logs, die nicht ins Repository selbst gehören.
---
⬅ [Zurück: 06 — Markdown-Grundlagen](../06-markdown-basics/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 08 — Commits und Historie](../08-commits-and-history/readme.md) ➡
+46
View File
@@ -0,0 +1,46 @@
# 08 — Commits und Historie
🌍 [English](../../en/08-commits-and-history/readme.md) · [Türkçe](../../tr/08-commits-and-history/readme.md) · **Deutsch** · [Français](../../fr/08-commits-and-history/readme.md) · [Русский](../../ru/08-commits-and-history/readme.md)
Ein Commit ist ein gespeicherter Schritt: was sich geändert hat, wer es geändert hat, wann und warum.
## Eine gute Nachricht schreiben
```
VLAN-Konfigurationsnotizen hinzufügen
falsche Gateway-Adresse in readme korrigieren
ungenutzten Paketmitschnitt entfernen
```
- Eine Zeile, Gegenwart, kein Punkt am Ende.
- Sagen Sie, *was* die Änderung tut — nicht „Update“ oder „Kram gefixt“.
- Längere Erklärung? Ab in das Beschreibungsfeld unter der Zusammenfassung.
## Gut committen
- **Eine Idee pro Commit.** Zwei unabhängige Änderungen sind zwei Commits.
- **Committen Sie oft.** Kleine Schritte lassen sich leicht prüfen und leicht zurücknehmen.
- **Niemals Passwörter, Schlüssel oder Tokens committen.** Sie später zu entfernen entfernt sie nicht aus der Historie — Sie müssen das Geheimnis selbst ändern.
## Historie lesen
| Wo | Was Sie bekommen |
|----|------------------|
| Schaltfläche **Historie** an Ordner oder Datei | Jeder Commit, der sie berührt hat |
| Die Seite eines Commits | Das vollständige Diff: rot entfernt, grün hinzugefügt |
| **Blame** an einer Datei | Welcher Commit jede Zeile zuletzt geändert hat |
| Reiter **Aktivität** | Beitragsdiagramm über die Zeit |
## Rückgängig machen
- **Ein Commit war falsch** → Commit öffnen, **Revert** klicken. Das erzeugt einen neuen Commit, der ihn aufhebt; nichts wird gelöscht.
- **Eine Datei war falsch** → ihre Historie öffnen, die gute Version ansehen, den Inhalt zurückkopieren und committen.
- **Ein Commit ist noch nicht gepusht** (Arbeit vom eigenen Rechner) → `git commit --amend`, um den letzten vor dem Teilen zu korrigieren.
## Vergleichen
Hängen Sie `/compare/main...mein-branch` an die Repository-URL an oder nutzen Sie die Schaltfläche **Vergleichen**, um jeden Unterschied zwischen zwei Branches oder Tags zu sehen.
---
⬅ [Zurück: 07 — Bilder und Anhänge](../07-images-and-media/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 09 — Branches und Pull Requests](../09-branches-and-pull-requests/readme.md) ➡
@@ -0,0 +1,58 @@
# 09 — Branches und Pull Requests
🌍 [English](../../en/09-branches-and-pull-requests/readme.md) · [Türkçe](../../tr/09-branches-and-pull-requests/readme.md) · **Deutsch** · [Français](../../fr/09-branches-and-pull-requests/readme.md) · [Русский](../../ru/09-branches-and-pull-requests/readme.md)
Ein Branch ist eine sichere Kopie des Projekts, in der Sie arbeiten können, ohne `main` zu stören. Ein Pull Request ist die Bitte, diese Arbeit zurückzuführen.
## Wann Sie einen Branch brauchen
- Die Änderung ist so groß, dass halbfertige Arbeit Dinge kaputt machen würde.
- Jemand sollte darauf schauen, bevor sie live geht.
- Sie wollen eine Idee ausprobieren und sie notfalls verwerfen können.
Für einen Tippfehler in einem Dokument genügt ein Commit direkt auf `main`.
## Einen Branch im Browser anlegen
Wählen Sie beim Committen (Kapitel 03) **Für diesen Commit einen neuen Branch anlegen und einen Pull Request starten**, benennen Sie den Branch und committen Sie. Gute Namen beschreiben die Arbeit:
```
docs/vlan-notizen
fix/falsches-gateway
feature/report-export
```
## Einen Pull Request eröffnen
1. Gehen Sie zu **Pull Requests → Neuer Pull Request**.
2. Wählen Sie den Quell-Branch (Ihren) und das Ziel (`main`).
3. Titel = was die Änderung tut. Beschreibung = warum, plus alles, was Prüfende beachten sollten.
4. Klicken Sie auf **Pull Request erstellen**.
## Review
- Prüfende kommentieren einzelne Zeilen im Reiter **Geänderte Dateien**.
- Pushen Sie weitere Commits auf denselben Branch — der Pull Request aktualisiert sich selbst.
- Ist er freigegeben, klicken Sie auf **Pull Request zusammenführen** und löschen anschließend den Branch.
## Merge-Konflikte
Hat `main` dieselben Zeilen geändert wie Sie, bittet KabaForge Sie um Auflösung. Vom eigenen Rechner:
```bash
git switch mein-branch
git fetch origin
git merge origin/main
# markierte Dateien öffnen, die richtigen Zeilen behalten
git add .
git commit
git push
```
## `main` schützen
**Einstellungen → Branches → Regel hinzufügen**: Pull Requests und Freigaben verlangen, bevor etwas nach `main` gelangt. Empfohlen, sobald mehr als eine Person im Repository arbeitet.
---
⬅ [Zurück: 08 — Commits und Historie](../08-commits-and-history/readme.md) · 📚 [Inhalt](../README.md) · [Weiter: 10 — Vom eigenen Rechner arbeiten](../10-clone-and-tokens/readme.md) ➡
+75
View File
@@ -0,0 +1,75 @@
# 10 — Vom eigenen Rechner arbeiten
🌍 [English](../../en/10-clone-and-tokens/readme.md) · [Türkçe](../../tr/10-clone-and-tokens/readme.md) · **Deutsch** · [Français](../../fr/10-clone-and-tokens/readme.md) · [Русский](../../ru/10-clone-and-tokens/readme.md)
Für Dokumente genügt der Browser. Für echte Arbeit — viele Dateien auf einmal oder das Ausführen des Codes — kopieren Sie das Repository auf Ihren Rechner.
## Eine Kopie holen
Klicken Sie auf der Repository-Seite auf **Klonen** und kopieren Sie die Adresse.
```bash
git clone https://forge.kabaforce.com/besitzer/projekt.git
cd projekt
```
## Der tägliche Ablauf
```bash
git pull # holen, was andere geändert haben
# ... Dateien bearbeiten ...
git status # was habe ich geändert?
git add . # Änderungen vormerken
git commit -m "Einrichtungsnotizen hinzufügen"
git push # an KabaForge senden
```
Wird `git push` abgelehnt, hat jemand anderes zuerst gepusht: `git pull` ausführen, gemeldete Konflikte lösen, dann erneut pushen.
## Anmelden auf der Kommandozeile
Ihr KabaForce-ID-Passwort funktioniert über HTTPS nicht. Erzeugen Sie stattdessen ein Token:
1. **Avatar → Einstellungen → Anwendungen → Neues Token erzeugen**.
2. Geben Sie ihm einen Namen und nur die Rechte, die Sie brauchen (`repo` genügt meist).
3. Kopieren Sie es einmal — es wird nie wieder angezeigt.
4. Wenn Git nach einem Passwort fragt, fügen Sie das Token ein.
So werden Sie nur einmal gefragt:
```bash
git config --global credential.helper store
```
## SSH statt Token
1. Erzeugen Sie einen Schlüssel, falls Sie keinen haben: `ssh-keygen -t ed25519`
2. Kopieren Sie `~/.ssh/id_ed25519.pub`.
3. **Avatar → Einstellungen → SSH-Schlüssel → Schlüssel hinzufügen**, einfügen.
4. Klonen Sie mit der SSH-Adresse unter **Klonen**.
Danach fragt nichts mehr nach einem Passwort.
## Nützliche Ergänzungen
| Bedarf | Befehl |
|--------|--------|
| Historie ansehen | `git log --oneline --graph` |
| Lokale Änderungen an einer Datei verwerfen | `git restore datei.md` |
| Branch wechseln | `git switch branch-name` |
| Branch anlegen | `git switch -c neuer-branch` |
## Automatisierung
Repositories lassen sich mit demselben Token auch über die KabaForge-API lesen und schreiben:
```bash
curl -H "Authorization: token IHR_TOKEN" \
https://forge.kabaforce.com/api/v1/repos/besitzer/projekt/contents
```
Behandeln Sie Tokens wie Passwörter: niemals in eine Datei schreiben, die Sie committen.
---
⬅ [Zurück: 09 — Branches und Pull Requests](../09-branches-and-pull-requests/readme.md) · 📚 [Inhalt](../README.md)
+38
View File
@@ -0,0 +1,38 @@
# 📘 KabaForge-Handbuch — Deutsch
Kurze, praktische Anleitungen zur Nutzung von KabaForge — Vorkenntnisse sind nicht nötig.
🌍 [English](../en/README.md) · [Türkçe](../tr/README.md) · **Deutsch** · [Français](../fr/README.md) · [Русский](../ru/README.md)
---
## 📚 Kapitel
| # | Kapitel |
|---|---------|
| 01 | [Erste Schritte](01-getting-started/readme.md) |
| 02 | [Ein Repository anlegen](02-create-repository/readme.md) |
| 03 | [Dateien hinzufügen und bearbeiten](03-add-and-edit-files/readme.md) |
| 04 | [Verzeichnisse anlegen](04-create-directory/readme.md) |
| 05 | [Dateien und Verzeichnisse löschen](05-delete-files/readme.md) |
| 06 | [Markdown-Grundlagen](06-markdown-basics/readme.md) |
| 07 | [Bilder und Anhänge](07-images-and-media/readme.md) |
| 08 | [Commits und Historie](08-commits-and-history/readme.md) |
| 09 | [Branches und Pull Requests](09-branches-and-pull-requests/readme.md) |
| 10 | [Vom eigenen Rechner arbeiten](10-clone-and-tokens/readme.md) |
---
## 🚀 Die 60-Sekunden-Fassung
1. Melden Sie sich auf [forge.kabaforce.com](https://forge.kabaforce.com) mit Ihrer KabaForce-ID an.
2. Klicken Sie auf **+ → Neues Repository**, vergeben Sie einen Namen, setzen Sie den Haken bei *Repository initialisieren*.
3. Öffnen Sie das Repository, klicken Sie auf **Datei hinzufügen → Neue Datei**, schreiben Sie etwas und klicken Sie auf **Änderungen übernehmen**.
4. Nennen Sie eine Datei `readme.md` — sie wird auf der Ordnerseite automatisch angezeigt.
---
## 💡 Wie dieses Handbuch zu lesen ist
Die Kapitel sind voneinander unabhängig. Springen Sie direkt zu dem, das Sie
brauchen; jedes ist eine einzelne Seite, die in wenigen Minuten gelesen ist.
+43
View File
@@ -0,0 +1,43 @@
# 01 — Getting started
🌍 **English** · [Türkçe](../../tr/01-getting-started/readme.md) · [Deutsch](../../de/01-getting-started/readme.md) · [Français](../../fr/01-getting-started/readme.md) · [Русский](../../ru/01-getting-started/readme.md)
KabaForge is the place where your code, documents and project history live. This chapter gets you signed in and shows you around.
## Signing in
1. Open [forge.kabaforce.com](https://forge.kabaforce.com).
2. Press **Sign in with KabaForce ID**.
3. Enter your KabaForce account details on `id.kabaforce.com`.
4. You are returned to KabaForge, signed in.
There is no separate password for KabaForge — your KabaForce ID is the only account you need. If you do not have one yet, use the **Sign up** link on the same page.
## What you see after signing in
| Area | What it is for |
|------|----------------|
| **Dashboard** (home) | Recent activity across your repositories |
| **Explore** | Public repositories on this server |
| **+** (top right) | Create a new repository or organisation |
| **Avatar** (top right) | Your profile, settings and sign out |
## Vocabulary you will meet
- **Repository (repo)** — one project: its files plus their entire history.
- **Commit** — one saved change, with a message describing it.
- **Branch** — a parallel line of work; the default one is usually `main`.
- **Pull request** — a proposal to merge one branch into another.
## Your first five minutes
1. Press **+ → New Repository**.
2. Name it `deneme` (or anything else), tick *Initialize repository*, press **Create**.
3. Open it and press **Add File → New File**.
4. Type `readme.md` as the name, write a couple of lines, press **Commit Changes**.
You now have a repository with a front page. The next chapters explain each of those steps in detail.
---
📚 [Contents](../README.md) · [Next: 02 — Creating a repository](../02-create-repository/readme.md) ➡
+41
View File
@@ -0,0 +1,41 @@
# 02 — Creating a repository
🌍 **English** · [Türkçe](../../tr/02-create-repository/readme.md) · [Deutsch](../../de/02-create-repository/readme.md) · [Français](../../fr/02-create-repository/readme.md) · [Русский](../../ru/02-create-repository/readme.md)
A repository is one project. Create one per project, not one per file.
## Steps
1. Press **+** at the top right → **New Repository**.
2. **Owner** — yourself, or an organisation you belong to.
3. **Repository name** — lowercase, no spaces: `network-lab`, `web-site`, `guide`.
4. **Description** — one line explaining what it is. It appears in search results.
5. **Visibility**
- *Public* — anyone who can reach the server can read it.
- *Private* — only you and the people you invite.
6. **Initialize repository** — tick it. This creates the first commit with a `README.md`, so the repository is usable straight away.
7. Press **Create Repository**.
## Good names
| Instead of | Prefer |
|-----------|--------|
| `Yeni Proje (son)` | `yeni-proje` |
| `Ağ Ödevi 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Spaces and brackets in names make links harder to share and can confuse relative paths inside documents. Lowercase letters, digits and hyphens are always safe.
## After creation
- **Settings → Collaborators** — give other people read or write access.
- **Settings → Branches** — protect `main` so nobody commits to it directly.
- **Add File** — start filling the repository (chapter 03).
## Deleting a repository
**Settings → Danger Zone → Delete this repository.** You must type the repository name to confirm. This cannot be undone — the history goes with it.
---
⬅ [Previous: 01 — Getting started](../01-getting-started/readme.md) · 📚 [Contents](../README.md) · [Next: 03 — Adding and editing files](../03-add-and-edit-files/readme.md) ➡
+52
View File
@@ -0,0 +1,52 @@
# 03 — Adding and editing files
🌍 **English** · [Türkçe](../../tr/03-add-and-edit-files/readme.md) · [Deutsch](../../de/03-add-and-edit-files/readme.md) · [Français](../../fr/03-add-and-edit-files/readme.md) · [Русский](../../ru/03-add-and-edit-files/readme.md)
Everything in this chapter happens in the browser. No tools to install.
## Add File menu
Open a repository (or any folder inside it) and press **Add File**:
| Item | Use it for |
|------|-----------|
| **New File** | Writing a file by hand — notes, code, `readme.md` |
| **New Directory** | Creating an empty folder (chapter 04) |
| **Upload File** | Bringing files from your computer — images, PDFs, archives |
| **Patch** | Applying a ready-made diff |
## Writing a new file
1. **Add File → New File**.
2. Type the file name at the top, for example `notes.md`.
Typing `docs/notes.md` creates the `docs` folder at the same time.
3. Write the content in the editor.
4. Fill in the commit box at the bottom:
- **Summary** — short, in the imperative: *add setup notes*.
- **Description** — optional detail.
5. Choose **Commit directly to `main`**, or *create a new branch* if you want a review first (chapter 09).
6. Press **Commit Changes**.
## Uploading files
1. **Add File → Upload File**.
2. Drag files in, or press the box to pick them.
3. To place them in a subfolder, type the folder name in the path field at the top.
4. Press **Commit Changes**.
Very large files (video, disk images) belong in file storage, not in a repository — the history keeps every version forever.
## Editing an existing file
1. Open the file.
2. Press the pencil ✏️ icon at the top right.
3. Change the text; the **Preview changes** tab shows what you altered.
4. Commit as above.
## Renaming and moving
Editing a file lets you change its path: put the cursor in the name field and type a new path, e.g. `docs/notes.md`. On commit, the file is moved — history is preserved.
---
⬅ [Previous: 02 — Creating a repository](../02-create-repository/readme.md) · 📚 [Contents](../README.md) · [Next: 04 — Creating directories](../04-create-directory/readme.md) ➡
+50
View File
@@ -0,0 +1,50 @@
# 04 — Creating directories
🌍 **English** · [Türkçe](../../tr/04-create-directory/readme.md) · [Deutsch](../../de/04-create-directory/readme.md) · [Français](../../fr/04-create-directory/readme.md) · [Русский](../../ru/04-create-directory/readme.md)
## The quick way
1. Open the repository, or the folder you want the new folder inside.
2. **Add File → New Directory**.
3. Type the folder name, e.g. `docs`.
4. Press **Commit Changes**.
The panel shows where the folder will be created (`current/path/`) above the name box, so you always know where you are.
## Nested folders in one go
Type a path instead of a single name:
```
docs/images
```
That creates `docs`, and `images` inside it, in a single commit.
## Why a `.gitkeep` file appears
Version control tracks *files*, not empty folders. To keep a folder that has nothing in it yet, KabaForge puts an empty file named `.gitkeep` inside. It has no effect on your project — delete it once the folder has real content, or simply leave it.
## The other way: create a folder while creating a file
**Add File → New File** and type a path in the name box:
```
reports/2026/january.md
```
Both folders and the file are created together. Use this when you already know the first file.
## Naming rules that save you pain
| Avoid | Use |
|-------|-----|
| `Ağ Ödevi (1)` | `network-lab-01` |
| `My Notes` | `my-notes` or `notes` |
| `resimler ve ekler` | `assets` |
Folder names with **spaces** or brackets make links harder to share, and relative image paths inside Markdown are more fragile. Lowercase letters, digits and hyphens are always safe.
---
⬅ [Previous: 03 — Adding and editing files](../03-add-and-edit-files/readme.md) · 📚 [Contents](../README.md) · [Next: 05 — Deleting files and directories](../05-delete-files/readme.md) ➡
+49
View File
@@ -0,0 +1,49 @@
# 05 — Deleting files and directories
🌍 **English** · [Türkçe](../../tr/05-delete-files/readme.md) · [Deutsch](../../de/05-delete-files/readme.md) · [Français](../../fr/05-delete-files/readme.md) · [Русский](../../ru/05-delete-files/readme.md)
Nothing is ever truly lost: a deletion is just another commit, and the old content stays in the history.
## Deleting one file
1. Open the file.
2. Press the **…** menu at the top right of the file view.
3. Choose **Delete this file** (or use the 🗑️ icon next to the edit pencil).
4. Write a commit message and press **Commit Changes**.
## Deleting a folder
1. Open the folder.
2. Press the **…** menu next to *Add File*.
3. Choose **Delete this directory**.
4. Commit.
Everything inside the folder is removed in that single commit.
## Deleting several files at once
The browser deletes one path at a time. For a large clean-up, work from your computer (chapter 10):
```bash
git rm -r old-folder
git commit -m "remove old folder"
git push
```
## Getting a deleted file back
1. Open **History** on the folder that used to contain it, or the repository history.
2. Find the commit *before* the deletion.
3. Open the file at that commit and copy the content, or press **Browse source at this point** and recreate it.
Anything that was ever committed can be recovered. Something you typed in the editor but never committed cannot.
## Careful with
- **Deleting the folder instead of the file** — check the menu title says *file* when you mean one file.
- **Protected branches** — if `main` is protected, deletion goes through a pull request instead (chapter 09).
- **Secrets** — deleting a password from a file does *not* remove it from the history. Change the password itself.
---
⬅ [Previous: 04 — Creating directories](../04-create-directory/readme.md) · 📚 [Contents](../README.md) · [Next: 06 — Markdown basics](../06-markdown-basics/readme.md) ➡
+83
View File
@@ -0,0 +1,83 @@
# 06 — Markdown basics
🌍 **English** · [Türkçe](../../tr/06-markdown-basics/readme.md) · [Deutsch](../../de/06-markdown-basics/readme.md) · [Français](../../fr/06-markdown-basics/readme.md) · [Русский](../../ru/06-markdown-basics/readme.md)
Markdown is plain text with a few punctuation rules. Files ending in `.md` are rendered automatically, and a file named `readme.md` is shown on its folder page.
## Headings
```markdown
# Title
## Section
### Subsection
```
Leave a blank line before and after a heading.
## Text
```markdown
**bold** *italic* ~~struck through~~ `code`
```
A single line break is ignored. To start a new paragraph, leave a blank line.
## Lists
```markdown
- first
- second
- nested (two spaces)
1. step one
2. step two
```
## Links
```markdown
[KabaForge](https://forge.kabaforce.com)
[chapter 04](../04-create-directory/readme.md)
```
Links to files in the same repository are best written as relative paths — they keep working on every branch.
## Code
Fenced blocks keep spacing and add colours. Write the language after the opening fence:
~~~markdown
```bash
git status
```
~~~
## Tables
```markdown
| Column | Meaning |
|--------|---------|
| `main` | default branch |
| `.md` | Markdown file |
```
## Quotes, rules, tasks
```markdown
> A quoted note.
---
- [x] done
- [ ] not done yet
```
## Practical tips
- Preview before committing: the **Preview** tab in the editor renders exactly what others will see.
- Keep one sentence per line in long documents — differences between versions stay readable.
- Emoji work directly: 📌 ✅ ⚠️
---
⬅ [Previous: 05 — Deleting files and directories](../05-delete-files/readme.md) · 📚 [Contents](../README.md) · [Next: 07 — Images and attachments](../07-images-and-media/readme.md) ➡
+71
View File
@@ -0,0 +1,71 @@
# 07 — Images and attachments
🌍 **English** · [Türkçe](../../tr/07-images-and-media/readme.md) · [Deutsch](../../de/07-images-and-media/readme.md) · [Français](../../fr/07-images-and-media/readme.md) · [Русский](../../ru/07-images-and-media/readme.md)
## Putting an image in a document
1. Upload the image next to the document: open the folder, **Add File → Upload File**.
2. Reference it from the Markdown file:
```markdown
![Network topology](topology.png)
```
The text in brackets is the description shown if the image cannot load, and read aloud by screen readers. Write a real description, not "image".
## Where to keep images
A predictable layout that always works:
```
project/
readme.md
assets/
topology.png
rack.jpg
```
and in `readme.md`:
```markdown
![Network topology](assets/topology.png)
```
## Naming — the one rule to remember
Use lowercase names without spaces for **folders** and image files:
| Fragile | Safe |
|---------|------|
| `Ekran Alıntısı.PNG` | `ekran-alintisi.png` |
| `1-) Inter-VLAN Notes/` | `01-inter-vlan/` |
If a name does contain spaces, write them as `%20` in the link:
```markdown
![Topology](Ekran%20Alintisi.PNG)
```
## Controlling the size
Markdown has no size option, so use a plain HTML tag when you need one:
```markdown
<img src="assets/topology.png" alt="Network topology" width="600">
```
## Linking a file instead of showing it
Drop the exclamation mark and you get a download link:
```markdown
[Packet Tracer file](main.pkt)
```
## Attachments in issues
While writing an issue or a comment, drag a file into the text box. It is uploaded and the link is inserted for you. Use this for screenshots and logs that do not belong in the repository itself.
---
⬅ [Previous: 06 — Markdown basics](../06-markdown-basics/readme.md) · 📚 [Contents](../README.md) · [Next: 08 — Commits and history](../08-commits-and-history/readme.md) ➡
+46
View File
@@ -0,0 +1,46 @@
# 08 — Commits and history
🌍 **English** · [Türkçe](../../tr/08-commits-and-history/readme.md) · [Deutsch](../../de/08-commits-and-history/readme.md) · [Français](../../fr/08-commits-and-history/readme.md) · [Русский](../../ru/08-commits-and-history/readme.md)
A commit is one saved step: what changed, who changed it, when, and why.
## Writing a good message
```
add VLAN configuration notes
fix wrong gateway address in readme
remove unused packet capture
```
- One line, present tense, no full stop.
- Say *what* the change does, not "update" or "fix stuff".
- Longer explanation? Put it in the description box below the summary.
## Committing well
- **One idea per commit.** Two unrelated changes are two commits.
- **Commit often.** Small steps are easy to review and easy to undo.
- **Never commit passwords, keys or tokens.** Removing them later does not remove them from history — you have to change the secret itself.
## Reading history
| Where | What you get |
|-------|--------------|
| **History** button on a folder or file | Every commit that touched it |
| A commit's page | The full diff: red removed, green added |
| **Blame** on a file | Which commit last changed each line |
| **Activity** tab | Contribution graph over time |
## Undoing
- **One commit was wrong** → open the commit, press **Revert**. This creates a new commit that undoes it; nothing is erased.
- **A file was wrong** → open its history, view the good version, copy the content back and commit.
- **A commit is not pushed yet** (working from your computer) → `git commit --amend` to fix the last one before sharing it.
## Comparing
Add `/compare/main...my-branch` to a repository URL, or use the **Compare** button, to see every difference between two branches or tags.
---
⬅ [Previous: 07 — Images and attachments](../07-images-and-media/readme.md) · 📚 [Contents](../README.md) · [Next: 09 — Branches and pull requests](../09-branches-and-pull-requests/readme.md) ➡
@@ -0,0 +1,58 @@
# 09 — Branches and pull requests
🌍 **English** · [Türkçe](../../tr/09-branches-and-pull-requests/readme.md) · [Deutsch](../../de/09-branches-and-pull-requests/readme.md) · [Français](../../fr/09-branches-and-pull-requests/readme.md) · [Русский](../../ru/09-branches-and-pull-requests/readme.md)
A branch is a safe copy of the project where you can work without disturbing `main`. A pull request is the request to bring that work back.
## When you need a branch
- The change is big enough that half-finished work would break things.
- Somebody should look at it before it goes live.
- You want to try an idea and be able to throw it away.
For a typo in a document, committing straight to `main` is fine.
## Creating a branch in the browser
While committing (chapter 03), choose **Create a new branch for this commit and start a pull request**, name the branch, and commit. Good names describe the work:
```
docs/vlan-notes
fix/wrong-gateway
feature/report-export
```
## Opening a pull request
1. Go to **Pull Requests → New Pull Request**.
2. Pick the source branch (yours) and the target (`main`).
3. Title = what the change does. Description = why, plus anything reviewers should check.
4. Press **Create Pull Request**.
## Review
- Reviewers comment on individual lines from the **Files Changed** tab.
- Push more commits to the same branch — the pull request updates itself.
- When it is approved, press **Merge Pull Request**, then delete the branch.
## Merge conflicts
If `main` changed the same lines you did, KabaForge asks you to resolve it. From your computer:
```bash
git switch my-branch
git fetch origin
git merge origin/main
# open the marked files, keep the correct lines
git add .
git commit
git push
```
## Protecting `main`
**Settings → Branches → Add rule**: require pull requests and approvals before anything reaches `main`. Recommended as soon as more than one person works in the repository.
---
⬅ [Previous: 08 — Commits and history](../08-commits-and-history/readme.md) · 📚 [Contents](../README.md) · [Next: 10 — Working from your computer](../10-clone-and-tokens/readme.md) ➡
+75
View File
@@ -0,0 +1,75 @@
# 10 — Working from your computer
🌍 **English** · [Türkçe](../../tr/10-clone-and-tokens/readme.md) · [Deutsch](../../de/10-clone-and-tokens/readme.md) · [Français](../../fr/10-clone-and-tokens/readme.md) · [Русский](../../ru/10-clone-and-tokens/readme.md)
The browser is enough for documents. For real work — many files at once, or running the code — copy the repository to your machine.
## Getting a copy
Press the **Clone** button on the repository page and copy the address.
```bash
git clone https://forge.kabaforce.com/owner/project.git
cd project
```
## The daily loop
```bash
git pull # get what others changed
# ... edit files ...
git status # what did I change?
git add . # stage the changes
git commit -m "add setup notes"
git push # send them to KabaForge
```
If `git push` is rejected, somebody else pushed first: run `git pull`, resolve anything it reports, then push again.
## Signing in from the command line
Your KabaForce ID password does not work over HTTPS. Create a token instead:
1. **Avatar → Settings → Applications → Generate New Token**.
2. Give it a name and only the permissions you need (`repo` is usually enough).
3. Copy it once — it is never shown again.
4. When git asks for a password, paste the token.
Store it so you are asked only once:
```bash
git config --global credential.helper store
```
## SSH instead of tokens
1. Create a key if you do not have one: `ssh-keygen -t ed25519`
2. Copy `~/.ssh/id_ed25519.pub`.
3. **Avatar → Settings → SSH Keys → Add Key**, paste it.
4. Clone with the SSH address shown under **Clone**.
No password prompts after that.
## Useful extras
| Need | Command |
|------|---------|
| See the history | `git log --oneline --graph` |
| Discard local changes to a file | `git restore file.md` |
| Switch branch | `git switch branch-name` |
| Create a branch | `git switch -c new-branch` |
## Automation
Repositories can also be read and written through the KabaForge API using the same token:
```bash
curl -H "Authorization: token YOUR_TOKEN" \
https://forge.kabaforce.com/api/v1/repos/owner/project/contents
```
Treat tokens like passwords: never put one in a file you commit.
---
⬅ [Previous: 09 — Branches and pull requests](../09-branches-and-pull-requests/readme.md) · 📚 [Contents](../README.md)
+38
View File
@@ -0,0 +1,38 @@
# 📘 KabaForge Guide — English
Short, practical recipes for using KabaForge — no prior experience required.
🌍 **English** · [Türkçe](../tr/README.md) · [Deutsch](../de/README.md) · [Français](../fr/README.md) · [Русский](../ru/README.md)
---
## 📚 Chapters
| # | Chapter |
|---|---------|
| 01 | [Getting started](01-getting-started/readme.md) |
| 02 | [Creating a repository](02-create-repository/readme.md) |
| 03 | [Adding and editing files](03-add-and-edit-files/readme.md) |
| 04 | [Creating directories](04-create-directory/readme.md) |
| 05 | [Deleting files and directories](05-delete-files/readme.md) |
| 06 | [Markdown basics](06-markdown-basics/readme.md) |
| 07 | [Images and attachments](07-images-and-media/readme.md) |
| 08 | [Commits and history](08-commits-and-history/readme.md) |
| 09 | [Branches and pull requests](09-branches-and-pull-requests/readme.md) |
| 10 | [Working from your computer](10-clone-and-tokens/readme.md) |
---
## 🚀 The 60-second version
1. Sign in at [forge.kabaforce.com](https://forge.kabaforce.com) with your KabaForce ID.
2. Press **+ → New Repository**, give it a name, tick *Initialize repository*.
3. Open the repository, press **Add File → New File**, write something, press **Commit Changes**.
4. Name a file `readme.md` and it is shown automatically on the folder page.
---
## 💡 How to read this guide
Chapters are independent. Jump to the one you need; each is a single page you can
finish in a few minutes.
+43
View File
@@ -0,0 +1,43 @@
# 01 — Premiers pas
🌍 [English](../../en/01-getting-started/readme.md) · [Türkçe](../../tr/01-getting-started/readme.md) · [Deutsch](../../de/01-getting-started/readme.md) · **Français** · [Русский](../../ru/01-getting-started/readme.md)
KabaForge est l'endroit où vivent votre code, vos documents et l'historique de vos projets. Ce chapitre vous connecte et vous fait faire le tour.
## Se connecter
1. Ouvrez [forge.kabaforce.com](https://forge.kabaforce.com).
2. Cliquez sur **Se connecter avec KabaForce ID**.
3. Saisissez vos informations de compte KabaForce sur `id.kabaforce.com`.
4. Vous revenez sur KabaForge, connecté.
KabaForge n'a pas de mot de passe distinct — votre KabaForce ID est le seul compte nécessaire. Si vous n'en avez pas encore, utilisez le lien **S'inscrire** sur la même page.
## Ce que vous voyez après la connexion
| Zone | À quoi ça sert |
|------|----------------|
| **Tableau de bord** (accueil) | Activité récente de vos dépôts |
| **Explorer** | Dépôts publics de ce serveur |
| **+** (en haut à droite) | Créer un dépôt ou une organisation |
| **Avatar** (en haut à droite) | Profil, paramètres et déconnexion |
## Le vocabulaire que vous croiserez
- **Dépôt (repository, repo)** — un projet : ses fichiers et tout son historique.
- **Commit** — une modification enregistrée, accompagnée d'un message qui la décrit.
- **Branche** — une ligne de travail parallèle ; celle par défaut s'appelle en général `main`.
- **Demande de fusion (pull request)** — une proposition de fusionner une branche dans une autre.
## Vos cinq premières minutes
1. Cliquez sur **+ → Nouveau dépôt**.
2. Nommez-le `essai` (ou autre), cochez *Initialiser le dépôt*, cliquez sur **Créer**.
3. Ouvrez-le et cliquez sur **Ajouter un fichier → Nouveau fichier**.
4. Tapez `readme.md` comme nom, écrivez deux ou trois lignes, cliquez sur **Valider les modifications**.
Vous avez maintenant un dépôt avec une page d'accueil. Les chapitres suivants détaillent chacune de ces étapes.
---
📚 [Sommaire](../README.md) · [Suivant: 02 — Créer un dépôt](../02-create-repository/readme.md) ➡
+41
View File
@@ -0,0 +1,41 @@
# 02 — Créer un dépôt
🌍 [English](../../en/02-create-repository/readme.md) · [Türkçe](../../tr/02-create-repository/readme.md) · [Deutsch](../../de/02-create-repository/readme.md) · **Français** · [Русский](../../ru/02-create-repository/readme.md)
Un dépôt correspond à un projet. Créez-en un par projet, pas un par fichier.
## Étapes
1. Cliquez sur **+** en haut à droite → **Nouveau dépôt**.
2. **Propriétaire** — vous-même, ou une organisation dont vous êtes membre.
3. **Nom du dépôt** — en minuscules, sans espaces : `network-lab`, `web-site`, `guide`.
4. **Description** — une ligne expliquant de quoi il s'agit. Elle apparaît dans les résultats de recherche.
5. **Visibilité**
- *Public* — toute personne pouvant atteindre le serveur peut lire.
- *Privé* — seulement vous et les personnes que vous invitez.
6. **Initialiser le dépôt** — cochez la case. Cela crée le premier commit avec un `README.md`, le dépôt est donc utilisable tout de suite.
7. Cliquez sur **Créer le dépôt**.
## De bons noms
| Au lieu de | Préférez |
|-----------|----------|
| `Nouveau Projet (final)` | `nouveau-projet` |
| `Devoir Réseau 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Les espaces et les parenthèses dans les noms compliquent le partage de liens et peuvent perturber les chemins relatifs à l'intérieur des documents. Minuscules, chiffres et tirets sont toujours sûrs.
## Après la création
- **Paramètres → Collaborateurs** — donner un accès en lecture ou en écriture à d'autres personnes.
- **Paramètres → Branches** — protéger `main` pour que personne n'y commite directement.
- **Ajouter un fichier** — commencer à remplir le dépôt (chapitre 03).
## Supprimer un dépôt
**Paramètres → Zone de danger → Supprimer ce dépôt.** Vous devez taper le nom du dépôt pour confirmer. C'est irréversible — l'historique disparaît avec lui.
---
⬅ [Précédent: 01 — Premiers pas](../01-getting-started/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 03 — Ajouter et modifier des fichiers](../03-add-and-edit-files/readme.md) ➡
+52
View File
@@ -0,0 +1,52 @@
# 03 — Ajouter et modifier des fichiers
🌍 [English](../../en/03-add-and-edit-files/readme.md) · [Türkçe](../../tr/03-add-and-edit-files/readme.md) · [Deutsch](../../de/03-add-and-edit-files/readme.md) · **Français** · [Русский](../../ru/03-add-and-edit-files/readme.md)
Tout ce chapitre se passe dans le navigateur. Rien à installer.
## Le menu « Ajouter un fichier »
Ouvrez un dépôt (ou un dossier qu'il contient) et cliquez sur **Ajouter un fichier** :
| Entrée | Sert à |
|--------|--------|
| **Nouveau fichier** | Écrire un fichier à la main — notes, code, `readme.md` |
| **Nouveau répertoire** | Créer un dossier vide (chapitre 04) |
| **Téléverser un fichier** | Apporter des fichiers de votre ordinateur — images, PDF, archives |
| **Correctif (patch)** | Appliquer un diff tout prêt |
## Écrire un nouveau fichier
1. **Ajouter un fichier → Nouveau fichier**.
2. Tapez le nom du fichier en haut, par exemple `notes.md`.
Taper `docs/notes.md` crée en même temps le dossier `docs`.
3. Écrivez le contenu dans l'éditeur.
4. Remplissez le cadre de commit en bas :
- **Résumé** — court, à l'impératif : *ajouter les notes d'installation*.
- **Description** — détail facultatif.
5. Choisissez **Commiter directement sur `main`**, ou *créer une nouvelle branche* si vous voulez une relecture d'abord (chapitre 09).
6. Cliquez sur **Valider les modifications**.
## Téléverser des fichiers
1. **Ajouter un fichier → Téléverser un fichier**.
2. Glissez les fichiers dedans, ou cliquez sur le cadre pour les choisir.
3. Pour les placer dans un sous-dossier, tapez son nom dans le champ de chemin en haut.
4. Cliquez sur **Valider les modifications**.
Les fichiers très volumineux (vidéo, images disque) relèvent d'un stockage de fichiers, pas d'un dépôt — l'historique conserve chaque version pour toujours.
## Modifier un fichier existant
1. Ouvrez le fichier.
2. Cliquez sur l'icône crayon ✏️ en haut à droite.
3. Modifiez le texte ; l'onglet **Aperçu des modifications** montre ce que vous avez changé.
4. Commitez comme ci-dessus.
## Renommer et déplacer
L'écran de modification permet de changer le chemin : placez le curseur dans le champ du nom et tapez un nouveau chemin, par ex. `docs/notes.md`. Au commit, le fichier est déplacé — l'historique est préservé.
---
⬅ [Précédent: 02 — Créer un dépôt](../02-create-repository/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 04 — Créer des répertoires](../04-create-directory/readme.md) ➡
+50
View File
@@ -0,0 +1,50 @@
# 04 — Créer des répertoires
🌍 [English](../../en/04-create-directory/readme.md) · [Türkçe](../../tr/04-create-directory/readme.md) · [Deutsch](../../de/04-create-directory/readme.md) · **Français** · [Русский](../../ru/04-create-directory/readme.md)
## La méthode rapide
1. Ouvrez le dépôt, ou le dossier dans lequel vous voulez créer le nouveau dossier.
2. **Ajouter un fichier → Nouveau répertoire**.
3. Tapez le nom du dossier, par ex. `docs`.
4. Cliquez sur **Valider les modifications**.
Au-dessus du champ du nom, le panneau indique où le dossier sera créé (`chemin/actuel/`) : vous savez toujours où vous êtes.
## Des dossiers imbriqués en une fois
Tapez un chemin plutôt qu'un simple nom :
```
docs/images
```
Cela crée `docs`, et `images` à l'intérieur, en un seul commit.
## Pourquoi un fichier `.gitkeep` apparaît
La gestion de versions suit des *fichiers*, pas des dossiers vides. Pour conserver un dossier encore vide, KabaForge y place un fichier vide nommé `.gitkeep`. Il n'a aucun effet sur votre projet — supprimez-le lorsque le dossier a un vrai contenu, ou laissez-le simplement.
## L'autre méthode : créer un dossier en créant un fichier
**Ajouter un fichier → Nouveau fichier**, puis tapez un chemin dans le champ du nom :
```
rapports/2026/janvier.md
```
Les dossiers et le fichier sont créés ensemble. Utilisez ceci quand vous connaissez déjà le premier fichier.
## Des règles de nommage qui évitent bien des ennuis
| À éviter | À utiliser |
|----------|------------|
| `Devoir Réseau (1)` | `network-lab-01` |
| `Mes Notes` | `mes-notes` ou `notes` |
| `images et pièces jointes` | `assets` |
Les noms de dossier avec des **espaces** ou des parenthèses compliquent le partage de liens, et les chemins d'images relatifs dans Markdown deviennent plus fragiles. Minuscules, chiffres et tirets sont toujours sûrs.
---
⬅ [Précédent: 03 — Ajouter et modifier des fichiers](../03-add-and-edit-files/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 05 — Supprimer fichiers et répertoires](../05-delete-files/readme.md) ➡
+49
View File
@@ -0,0 +1,49 @@
# 05 — Supprimer fichiers et répertoires
🌍 [English](../../en/05-delete-files/readme.md) · [Türkçe](../../tr/05-delete-files/readme.md) · [Deutsch](../../de/05-delete-files/readme.md) · **Français** · [Русский](../../ru/05-delete-files/readme.md)
Rien n'est jamais vraiment perdu : une suppression n'est qu'un commit de plus, et l'ancien contenu reste dans l'historique.
## Supprimer un fichier
1. Ouvrez le fichier.
2. Cliquez sur le menu **…** en haut à droite de la vue du fichier.
3. Choisissez **Supprimer ce fichier** (ou utilisez l'icône 🗑️ à côté du crayon d'édition).
4. Écrivez un message de commit et cliquez sur **Valider les modifications**.
## Supprimer un dossier
1. Ouvrez le dossier.
2. Cliquez sur le menu **…** à côté d'*Ajouter un fichier*.
3. Choisissez **Supprimer ce répertoire**.
4. Commitez.
Tout ce qui se trouve dans le dossier est retiré dans ce seul commit.
## Supprimer plusieurs fichiers d'un coup
Le navigateur supprime un chemin à la fois. Pour un grand ménage, travaillez depuis votre ordinateur (chapitre 10) :
```bash
git rm -r ancien-dossier
git commit -m "supprimer l'ancien dossier"
git push
```
## Récupérer un fichier supprimé
1. Ouvrez **Historique** sur le dossier qui le contenait, ou l'historique du dépôt.
2. Trouvez le commit *précédant* la suppression.
3. Ouvrez le fichier à ce commit et copiez le contenu, ou cliquez sur **Parcourir les sources à ce point** et recréez-le.
Tout ce qui a un jour été commité peut être récupéré. Ce que vous avez tapé dans l'éditeur sans jamais le commiter, non.
## Attention à
- **Supprimer le dossier au lieu du fichier** — vérifiez que le menu dit bien *fichier* quand vous visez un fichier.
- **Les branches protégées** — si `main` est protégée, la suppression passe par une demande de fusion (chapitre 09).
- **Les secrets** — supprimer un mot de passe d'un fichier ne le retire *pas* de l'historique. Changez le mot de passe lui-même.
---
⬅ [Précédent: 04 — Créer des répertoires](../04-create-directory/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 06 — Les bases de Markdown](../06-markdown-basics/readme.md) ➡
+83
View File
@@ -0,0 +1,83 @@
# 06 — Les bases de Markdown
🌍 [English](../../en/06-markdown-basics/readme.md) · [Türkçe](../../tr/06-markdown-basics/readme.md) · [Deutsch](../../de/06-markdown-basics/readme.md) · **Français** · [Русский](../../ru/06-markdown-basics/readme.md)
Markdown, c'est du texte brut avec quelques règles de ponctuation. Les fichiers terminés par `.md` sont rendus automatiquement, et un fichier nommé `readme.md` s'affiche sur la page de son dossier.
## Titres
```markdown
# Titre
## Section
### Sous-section
```
Laissez une ligne vide avant et après un titre.
## Texte
```markdown
**gras** *italique* ~~barré~~ `code`
```
Un simple retour à la ligne est ignoré. Pour commencer un nouveau paragraphe, laissez une ligne vide.
## Listes
```markdown
- premier
- deuxième
- imbriqué (deux espaces)
1. étape un
2. étape deux
```
## Liens
```markdown
[KabaForge](https://forge.kabaforce.com)
[chapitre 04](../04-create-directory/readme.md)
```
Pour les fichiers du même dépôt, écrivez de préférence des chemins relatifs — ils continuent de fonctionner sur toutes les branches.
## Code
Les blocs délimités conservent l'indentation et ajoutent la coloration. Écrivez le langage après les trois accents ouvrants :
~~~markdown
```bash
git status
```
~~~
## Tableaux
```markdown
| Colonne | Signification |
|---------|---------------|
| `main` | branche par défaut |
| `.md` | fichier Markdown |
```
## Citations, filets, tâches
```markdown
> Une note citée.
---
- [x] fait
- [ ] pas encore fait
```
## Conseils pratiques
- Prévisualisez avant de commiter : l'onglet **Aperçu** de l'éditeur affiche exactement ce que les autres verront.
- Dans les documents longs, écrivez une phrase par ligne — les différences entre versions restent lisibles.
- Les emoji fonctionnent directement : 📌 ✅ ⚠️
---
⬅ [Précédent: 05 — Supprimer fichiers et répertoires](../05-delete-files/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 07 — Images et pièces jointes](../07-images-and-media/readme.md) ➡
+71
View File
@@ -0,0 +1,71 @@
# 07 — Images et pièces jointes
🌍 [English](../../en/07-images-and-media/readme.md) · [Türkçe](../../tr/07-images-and-media/readme.md) · [Deutsch](../../de/07-images-and-media/readme.md) · **Français** · [Русский](../../ru/07-images-and-media/readme.md)
## Mettre une image dans un document
1. Téléversez l'image à côté du document : ouvrez le dossier, **Ajouter un fichier → Téléverser un fichier**.
2. Référencez-la depuis le fichier Markdown :
```markdown
![Topologie réseau](topologie.png)
```
Le texte entre crochets est la description affichée si l'image ne peut pas se charger, et lue par les lecteurs d'écran. Écrivez une vraie description, pas « image ».
## Où ranger les images
Une organisation prévisible qui marche toujours :
```
projet/
readme.md
assets/
topologie.png
baie.jpg
```
et dans `readme.md` :
```markdown
![Topologie réseau](assets/topologie.png)
```
## Nommage — la seule règle à retenir
Utilisez des noms en minuscules et sans espaces pour les **dossiers** et les fichiers image :
| Fragile | Sûr |
|---------|-----|
| `Capture d'écran.PNG` | `capture-ecran.png` |
| `1-) Notes Inter-VLAN/` | `01-inter-vlan/` |
Si un nom contient malgré tout des espaces, écrivez-les `%20` dans le lien :
```markdown
![Topologie](Capture%20ecran.PNG)
```
## Contrôler la taille
Markdown n'a pas d'option de taille : utilisez une simple balise HTML au besoin.
```markdown
<img src="assets/topologie.png" alt="Topologie réseau" width="600">
```
## Lier un fichier au lieu de l'afficher
Enlevez le point d'exclamation et vous obtenez un lien de téléchargement :
```markdown
[Fichier Packet Tracer](main.pkt)
```
## Pièces jointes dans les tickets
Pendant la rédaction d'un ticket ou d'un commentaire, glissez un fichier dans la zone de texte. Il est téléversé et le lien inséré pour vous. Utilisez ceci pour les captures d'écran et les journaux qui n'ont pas leur place dans le dépôt lui-même.
---
⬅ [Précédent: 06 — Les bases de Markdown](../06-markdown-basics/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 08 — Commits et historique](../08-commits-and-history/readme.md) ➡
+46
View File
@@ -0,0 +1,46 @@
# 08 — Commits et historique
🌍 [English](../../en/08-commits-and-history/readme.md) · [Türkçe](../../tr/08-commits-and-history/readme.md) · [Deutsch](../../de/08-commits-and-history/readme.md) · **Français** · [Русский](../../ru/08-commits-and-history/readme.md)
Un commit est une étape enregistrée : ce qui a changé, qui l'a changé, quand et pourquoi.
## Écrire un bon message
```
ajouter les notes de configuration VLAN
corriger l'adresse de passerelle erronée dans le readme
supprimer la capture de paquets inutilisée
```
- Une ligne, au présent, sans point final.
- Dites *ce que fait* la modification, pas « mise à jour » ou « corrections diverses ».
- Une explication plus longue ? Mettez-la dans le champ description sous le résumé.
## Bien commiter
- **Une idée par commit.** Deux changements sans rapport, ce sont deux commits.
- **Commitez souvent.** Les petits pas sont faciles à relire et faciles à annuler.
- **Ne commitez jamais de mots de passe, de clés ni de jetons.** Les retirer plus tard ne les retire pas de l'historique — il faut changer le secret lui-même.
## Lire l'historique
| Où | Ce que vous obtenez |
|----|---------------------|
| Bouton **Historique** sur un dossier ou un fichier | Tous les commits qui l'ont touché |
| La page d'un commit | Le diff complet : rouge supprimé, vert ajouté |
| **Blame** sur un fichier | Quel commit a modifié chaque ligne en dernier |
| Onglet **Activité** | Graphe des contributions dans le temps |
## Annuler
- **Un commit était mauvais** → ouvrez-le, cliquez sur **Revert**. Cela crée un nouveau commit qui l'annule ; rien n'est effacé.
- **Un fichier était mauvais** → ouvrez son historique, affichez la bonne version, recopiez le contenu et commitez.
- **Un commit n'est pas encore poussé** (travail depuis votre ordinateur) → `git commit --amend` pour corriger le dernier avant de le partager.
## Comparer
Ajoutez `/compare/main...ma-branche` à l'URL du dépôt, ou utilisez le bouton **Comparer**, pour voir toutes les différences entre deux branches ou étiquettes.
---
⬅ [Précédent: 07 — Images et pièces jointes](../07-images-and-media/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 09 — Branches et demandes de fusion](../09-branches-and-pull-requests/readme.md) ➡
@@ -0,0 +1,58 @@
# 09 — Branches et demandes de fusion
🌍 [English](../../en/09-branches-and-pull-requests/readme.md) · [Türkçe](../../tr/09-branches-and-pull-requests/readme.md) · [Deutsch](../../de/09-branches-and-pull-requests/readme.md) · **Français** · [Русский](../../ru/09-branches-and-pull-requests/readme.md)
Une branche est une copie sûre du projet où vous pouvez travailler sans déranger `main`. Une demande de fusion (pull request) est la demande de ramener ce travail.
## Quand une branche est nécessaire
- La modification est assez grosse pour qu'un travail à moitié fait casse des choses.
- Quelqu'un devrait la relire avant sa mise en ligne.
- Vous voulez tester une idée et pouvoir la jeter.
Pour une faute de frappe dans un document, commiter directement sur `main` convient très bien.
## Créer une branche dans le navigateur
Au moment de commiter (chapitre 03), choisissez **Créer une nouvelle branche pour ce commit et ouvrir une demande de fusion**, nommez la branche, puis commitez. Les bons noms décrivent le travail :
```
docs/notes-vlan
fix/passerelle-erronee
feature/export-rapport
```
## Ouvrir une demande de fusion
1. Allez dans **Demandes de fusion → Nouvelle demande de fusion**.
2. Choisissez la branche source (la vôtre) et la cible (`main`).
3. Titre = ce que fait la modification. Description = pourquoi, plus ce que les relecteurs doivent vérifier.
4. Cliquez sur **Créer la demande de fusion**.
## Relecture
- Les relecteurs commentent ligne par ligne depuis l'onglet **Fichiers modifiés**.
- Poussez d'autres commits sur la même branche — la demande de fusion se met à jour toute seule.
- Une fois approuvée, cliquez sur **Fusionner**, puis supprimez la branche.
## Conflits de fusion
Si `main` a modifié les mêmes lignes que vous, KabaForge vous demande de résoudre. Depuis votre ordinateur :
```bash
git switch ma-branche
git fetch origin
git merge origin/main
# ouvrez les fichiers marqués, gardez les bonnes lignes
git add .
git commit
git push
```
## Protéger `main`
**Paramètres → Branches → Ajouter une règle** : exiger une demande de fusion et des approbations avant que quoi que ce soit n'arrive sur `main`. Recommandé dès que plus d'une personne travaille dans le dépôt.
---
⬅ [Précédent: 08 — Commits et historique](../08-commits-and-history/readme.md) · 📚 [Sommaire](../README.md) · [Suivant: 10 — Travailler depuis votre ordinateur](../10-clone-and-tokens/readme.md) ➡
+75
View File
@@ -0,0 +1,75 @@
# 10 — Travailler depuis votre ordinateur
🌍 [English](../../en/10-clone-and-tokens/readme.md) · [Türkçe](../../tr/10-clone-and-tokens/readme.md) · [Deutsch](../../de/10-clone-and-tokens/readme.md) · **Français** · [Русский](../../ru/10-clone-and-tokens/readme.md)
Le navigateur suffit pour des documents. Pour le vrai travail — beaucoup de fichiers à la fois, ou exécuter le code — copiez le dépôt sur votre machine.
## Obtenir une copie
Cliquez sur le bouton **Cloner** de la page du dépôt et copiez l'adresse.
```bash
git clone https://forge.kabaforce.com/proprietaire/projet.git
cd projet
```
## La boucle quotidienne
```bash
git pull # récupérer ce que les autres ont changé
# ... modifier les fichiers ...
git status # qu'est-ce que j'ai changé ?
git add . # préparer les modifications
git commit -m "ajouter les notes d'installation"
git push # les envoyer à KabaForge
```
Si `git push` est refusé, c'est que quelqu'un a poussé avant vous : lancez `git pull`, résolvez ce qu'il signale, puis poussez de nouveau.
## S'authentifier en ligne de commande
Le mot de passe de votre KabaForce ID ne fonctionne pas en HTTPS. Créez plutôt un jeton :
1. **Avatar → Paramètres → Applications → Générer un nouveau jeton**.
2. Donnez-lui un nom et seulement les permissions nécessaires (`repo` suffit en général).
3. Copiez-le une fois — il ne sera plus jamais affiché.
4. Quand git demande un mot de passe, collez le jeton.
Pour ne le saisir qu'une seule fois :
```bash
git config --global credential.helper store
```
## SSH plutôt que des jetons
1. Créez une clé si vous n'en avez pas : `ssh-keygen -t ed25519`
2. Copiez `~/.ssh/id_ed25519.pub`.
3. **Avatar → Paramètres → Clés SSH → Ajouter une clé**, collez-la.
4. Clonez avec l'adresse SSH affichée sous **Cloner**.
Plus aucune demande de mot de passe ensuite.
## Compléments utiles
| Besoin | Commande |
|--------|----------|
| Voir l'historique | `git log --oneline --graph` |
| Annuler les modifications locales d'un fichier | `git restore fichier.md` |
| Changer de branche | `git switch nom-de-branche` |
| Créer une branche | `git switch -c nouvelle-branche` |
## Automatisation
Les dépôts peuvent aussi être lus et écrits via l'API KabaForge avec le même jeton :
```bash
curl -H "Authorization: token VOTRE_JETON" \
https://forge.kabaforce.com/api/v1/repos/proprietaire/projet/contents
```
Traitez les jetons comme des mots de passe : n'en mettez jamais un dans un fichier que vous commitez.
---
⬅ [Précédent: 09 — Branches et demandes de fusion](../09-branches-and-pull-requests/readme.md) · 📚 [Sommaire](../README.md)
+38
View File
@@ -0,0 +1,38 @@
# 📘 Guide KabaForge — Français
Des recettes courtes et pratiques pour utiliser KabaForge — aucune expérience préalable requise.
🌍 [English](../en/README.md) · [Türkçe](../tr/README.md) · [Deutsch](../de/README.md) · **Français** · [Русский](../ru/README.md)
---
## 📚 Chapitres
| # | Chapitre |
|---|----------|
| 01 | [Premiers pas](01-getting-started/readme.md) |
| 02 | [Créer un dépôt](02-create-repository/readme.md) |
| 03 | [Ajouter et modifier des fichiers](03-add-and-edit-files/readme.md) |
| 04 | [Créer des répertoires](04-create-directory/readme.md) |
| 05 | [Supprimer fichiers et répertoires](05-delete-files/readme.md) |
| 06 | [Les bases de Markdown](06-markdown-basics/readme.md) |
| 07 | [Images et pièces jointes](07-images-and-media/readme.md) |
| 08 | [Commits et historique](08-commits-and-history/readme.md) |
| 09 | [Branches et demandes de fusion](09-branches-and-pull-requests/readme.md) |
| 10 | [Travailler depuis votre ordinateur](10-clone-and-tokens/readme.md) |
---
## 🚀 La version en 60 secondes
1. Connectez-vous sur [forge.kabaforce.com](https://forge.kabaforce.com) avec votre identifiant KabaForce.
2. Cliquez sur **+ → Nouveau dépôt**, donnez-lui un nom, cochez *Initialiser le dépôt*.
3. Ouvrez le dépôt, cliquez sur **Ajouter un fichier → Nouveau fichier**, écrivez quelque chose, cliquez sur **Valider les modifications**.
4. Nommez un fichier `readme.md` : il s'affiche automatiquement sur la page du dossier.
---
## 💡 Comment lire ce guide
Les chapitres sont indépendants. Allez directement à celui dont vous avez besoin ;
chacun tient sur une page et se lit en quelques minutes.
+43
View File
@@ -0,0 +1,43 @@
# 01 — Начало работы
🌍 [English](../../en/01-getting-started/readme.md) · [Türkçe](../../tr/01-getting-started/readme.md) · [Deutsch](../../de/01-getting-started/readme.md) · [Français](../../fr/01-getting-started/readme.md) · **Русский**
KabaForge — это место, где живут ваш код, документы и история проектов. Эта глава помогает войти и осмотреться.
## Вход
1. Откройте [forge.kabaforce.com](https://forge.kabaforce.com).
2. Нажмите **Войти через KabaForce ID**.
3. Введите данные учётной записи KabaForce на `id.kabaforce.com`.
4. Вы возвращаетесь в KabaForge уже авторизованным.
Отдельного пароля у KabaForge нет — KabaForce ID это единственная нужная учётная запись. Если её ещё нет, воспользуйтесь ссылкой **Регистрация** на той же странице.
## Что вы видите после входа
| Раздел | Для чего он |
|--------|-------------|
| **Панель** (главная) | Последняя активность в ваших репозиториях |
| **Обзор** | Публичные репозитории на этом сервере |
| **+** (справа вверху) | Создать репозиторий или организацию |
| **Аватар** (справа вверху) | Профиль, настройки и выход |
## Слова, которые вам встретятся
- **Репозиторий (repo)** — один проект: его файлы и вся их история.
- **Коммит** — одно сохранённое изменение с описывающим его сообщением.
- **Ветка** — параллельная линия работы; ветка по умолчанию обычно называется `main`.
- **Пул-реквест** — предложение влить одну ветку в другую.
## Ваши первые пять минут
1. Нажмите **+ → Новый репозиторий**.
2. Назовите его `proba` (или как угодно), отметьте *Инициализировать репозиторий*, нажмите **Создать**.
3. Откройте его и нажмите **Добавить файл → Новый файл**.
4. Введите имя `readme.md`, напишите пару строк, нажмите **Применить изменения**.
Теперь у вас есть репозиторий с главной страницей. Следующие главы подробно разбирают каждый из этих шагов.
---
📚 [Содержание](../README.md) · [Далее: 02 — Создание репозитория](../02-create-repository/readme.md) ➡
+41
View File
@@ -0,0 +1,41 @@
# 02 — Создание репозитория
🌍 [English](../../en/02-create-repository/readme.md) · [Türkçe](../../tr/02-create-repository/readme.md) · [Deutsch](../../de/02-create-repository/readme.md) · [Français](../../fr/02-create-repository/readme.md) · **Русский**
Репозиторий — это один проект. Создавайте по одному на проект, а не на каждый файл.
## Шаги
1. Нажмите **+** справа вверху → **Новый репозиторий**.
2. **Владелец** — вы сами или организация, в которой вы состоите.
3. **Имя репозитория** — строчными буквами, без пробелов: `network-lab`, `web-site`, `guide`.
4. **Описание** — одна строка о том, что это. Она видна в результатах поиска.
5. **Видимость**
- *Публичный* — читать может любой, кто дотянется до сервера.
- *Приватный* — только вы и те, кого вы пригласите.
6. **Инициализировать репозиторий** — поставьте галочку. Это создаёт первый коммит с `README.md`, и репозиторий сразу готов к работе.
7. Нажмите **Создать репозиторий**.
## Хорошие имена
| Вместо | Лучше |
|--------|-------|
| `Новый Проект (финал)` | `novyy-proekt` |
| `Сетевая работа 1` | `network-lab-01` |
| `тест тест 2` | `packet-tracer-tests` |
Пробелы и скобки в именах усложняют обмен ссылками и могут сбивать относительные пути внутри документов. Строчные латинские буквы, цифры и дефисы безопасны всегда.
## После создания
- **Настройки → Соавторы** — выдать другим доступ на чтение или запись.
- **Настройки → Ветки** — защитить `main`, чтобы никто не коммитил в неё напрямую.
- **Добавить файл** — начать наполнять репозиторий (глава 03).
## Удаление репозитория
**Настройки → Опасная зона → Удалить этот репозиторий.** Для подтверждения придётся ввести имя репозитория. Отменить это нельзя — история уходит вместе с ним.
---
⬅ [Назад: 01 — Начало работы](../01-getting-started/readme.md) · 📚 [Содержание](../README.md) · [Далее: 03 — Добавление и редактирование файлов](../03-add-and-edit-files/readme.md) ➡
+52
View File
@@ -0,0 +1,52 @@
# 03 — Добавление и редактирование файлов
🌍 [English](../../en/03-add-and-edit-files/readme.md) · [Türkçe](../../tr/03-add-and-edit-files/readme.md) · [Deutsch](../../de/03-add-and-edit-files/readme.md) · [Français](../../fr/03-add-and-edit-files/readme.md) · **Русский**
Всё в этой главе делается в браузере. Ничего устанавливать не нужно.
## Меню «Добавить файл»
Откройте репозиторий (или любой каталог внутри него) и нажмите **Добавить файл**:
| Пункт | Для чего |
|-------|----------|
| **Новый файл** | Написать файл вручную — заметки, код, `readme.md` |
| **Новый каталог** | Создать пустую папку (глава 04) |
| **Загрузить файл** | Принести файлы со своего компьютера — картинки, PDF, архивы |
| **Патч** | Применить готовый diff |
## Написание нового файла
1. **Добавить файл → Новый файл**.
2. Введите имя файла сверху, например `notes.md`.
Если ввести `docs/notes.md`, каталог `docs` создастся одновременно.
3. Напишите содержимое в редакторе.
4. Заполните блок коммита внизу:
- **Краткое описание** — коротко, в повелительном наклонении: *добавить заметки по установке*.
- **Описание** — необязательные подробности.
5. Выберите **Закоммитить прямо в `main`** или *создать новую ветку*, если сначала нужна проверка (глава 09).
6. Нажмите **Применить изменения**.
## Загрузка файлов
1. **Добавить файл → Загрузить файл**.
2. Перетащите файлы в поле или нажмите на него и выберите их.
3. Чтобы положить их в подкаталог, впишите его имя в поле пути сверху.
4. Нажмите **Применить изменения**.
Очень большие файлы (видео, образы дисков) место в файловом хранилище, а не в репозитории — история хранит каждую версию навсегда.
## Редактирование существующего файла
1. Откройте файл.
2. Нажмите значок карандаша ✏️ справа вверху.
3. Измените текст; вкладка **Предпросмотр изменений** показывает, что именно вы поменяли.
4. Закоммитьте, как описано выше.
## Переименование и перемещение
При редактировании можно изменить путь: поставьте курсор в поле имени и введите новый путь, например `docs/notes.md`. После коммита файл будет перемещён — история сохранится.
---
⬅ [Назад: 02 — Создание репозитория](../02-create-repository/readme.md) · 📚 [Содержание](../README.md) · [Далее: 04 — Создание каталогов](../04-create-directory/readme.md) ➡
+50
View File
@@ -0,0 +1,50 @@
# 04 — Создание каталогов
🌍 [English](../../en/04-create-directory/readme.md) · [Türkçe](../../tr/04-create-directory/readme.md) · [Deutsch](../../de/04-create-directory/readme.md) · [Français](../../fr/04-create-directory/readme.md) · **Русский**
## Быстрый способ
1. Откройте репозиторий или каталог, внутри которого нужна новая папка.
2. **Добавить файл → Новый каталог**.
3. Введите имя папки, например `docs`.
4. Нажмите **Применить изменения**.
Над полем имени страница показывает, где будет создана папка (`текущий/путь/`), так что вы всегда знаете, где находитесь.
## Вложенные папки за один раз
Введите путь вместо одного имени:
```
docs/images
```
Это создаст `docs` и внутри него `images` одним коммитом.
## Почему появляется файл `.gitkeep`
Система контроля версий отслеживает *файлы*, а не пустые папки. Чтобы сохранить пока пустую папку, KabaForge кладёт внутрь пустой файл `.gitkeep`. На проект он никак не влияет — удалите его, когда в папке появится настоящее содержимое, или просто оставьте.
## Другой способ: создать папку вместе с файлом
**Добавить файл → Новый файл** и введите путь в поле имени:
```
reports/2026/january.md
```
Обе папки и файл создаются вместе. Используйте это, когда уже знаете, каким будет первый файл.
## Правила именования, которые избавят от боли
| Избегайте | Используйте |
|-----------|-------------|
| `Сетевая работа (1)` | `network-lab-01` |
| `Мои Заметки` | `my-notes` или `notes` |
| `картинки и вложения` | `assets` |
Имена папок с **пробелами** или скобками усложняют обмен ссылками, а относительные пути к изображениям в Markdown становятся хрупкими. Строчные латинские буквы, цифры и дефисы безопасны всегда.
---
⬅ [Назад: 03 — Добавление и редактирование файлов](../03-add-and-edit-files/readme.md) · 📚 [Содержание](../README.md) · [Далее: 05 — Удаление файлов и каталогов](../05-delete-files/readme.md) ➡
+49
View File
@@ -0,0 +1,49 @@
# 05 — Удаление файлов и каталогов
🌍 [English](../../en/05-delete-files/readme.md) · [Türkçe](../../tr/05-delete-files/readme.md) · [Deutsch](../../de/05-delete-files/readme.md) · [Français](../../fr/05-delete-files/readme.md) · **Русский**
По-настоящему ничего не пропадает: удаление — это просто ещё один коммит, а старое содержимое остаётся в истории.
## Удаление одного файла
1. Откройте файл.
2. Нажмите меню **…** справа вверху в просмотре файла.
3. Выберите **Удалить этот файл** (или значок 🗑️ рядом с карандашом редактирования).
4. Напишите сообщение коммита и нажмите **Применить изменения**.
## Удаление каталога
1. Откройте каталог.
2. Нажмите меню **…** рядом с *Добавить файл*.
3. Выберите **Удалить этот каталог**.
4. Закоммитьте.
Всё содержимое каталога удаляется этим одним коммитом.
## Удаление нескольких файлов сразу
Браузер удаляет по одному пути за раз. Для большой уборки работайте со своего компьютера (глава 10):
```bash
git rm -r old-folder
git commit -m "удалить старый каталог"
git push
```
## Как вернуть удалённый файл
1. Откройте **Историю** каталога, где он лежал, или историю репозитория.
2. Найдите коммит *перед* удалением.
3. Откройте файл в этом коммите и скопируйте содержимое либо нажмите **Просмотреть исходники на этот момент** и создайте его заново.
Всё, что хоть раз было закоммичено, можно восстановить. То, что вы набрали в редакторе, но так и не закоммитили, — нет.
## Будьте внимательны
- **Удаление каталога вместо файла** — если вы имеете в виду один файл, проверьте, что в меню написано *файл*.
- **Защищённые ветки** — если `main` защищена, удаление проходит через пул-реквест (глава 09).
- **Секреты** — удаление пароля из файла *не* убирает его из истории. Меняйте сам пароль.
---
⬅ [Назад: 04 — Создание каталогов](../04-create-directory/readme.md) · 📚 [Содержание](../README.md) · [Далее: 06 — Основы Markdown](../06-markdown-basics/readme.md) ➡
+83
View File
@@ -0,0 +1,83 @@
# 06 — Основы Markdown
🌍 [English](../../en/06-markdown-basics/readme.md) · [Türkçe](../../tr/06-markdown-basics/readme.md) · [Deutsch](../../de/06-markdown-basics/readme.md) · [Français](../../fr/06-markdown-basics/readme.md) · **Русский**
Markdown — это обычный текст с несколькими правилами пунктуации. Файлы с расширением `.md` отображаются автоматически, а файл с именем `readme.md` показывается на странице своего каталога.
## Заголовки
```markdown
# Заголовок
## Раздел
### Подраздел
```
Оставляйте пустую строку до и после заголовка.
## Текст
```markdown
**жирный** *курсив* ~~зачёркнутый~~ `код`
```
Одиночный перенос строки игнорируется. Чтобы начать новый абзац, оставьте пустую строку.
## Списки
```markdown
- первый
- второй
- вложенный (два пробела)
1. шаг один
2. шаг два
```
## Ссылки
```markdown
[KabaForge](https://forge.kabaforce.com)
[глава 04](../04-create-directory/readme.md)
```
Ссылки на файлы того же репозитория лучше писать относительными путями — они продолжают работать в любой ветке.
## Код
Блоки в «заборчиках» сохраняют отступы и добавляют подсветку. Язык пишется сразу после открывающего заборчика:
~~~markdown
```bash
git status
```
~~~
## Таблицы
```markdown
| Столбец | Значение |
|---------|----------|
| `main` | ветка по умолчанию |
| `.md` | файл Markdown |
```
## Цитаты, линии, задачи
```markdown
> Цитируемая заметка.
---
- [x] сделано
- [ ] ещё не сделано
```
## Практические советы
- Смотрите предпросмотр до коммита: вкладка **Предпросмотр** в редакторе показывает ровно то, что увидят другие.
- В длинных документах пишите по одному предложению на строку — различия между версиями остаются читаемыми.
- Эмодзи работают напрямую: 📌 ✅ ⚠️
---
⬅ [Назад: 05 — Удаление файлов и каталогов](../05-delete-files/readme.md) · 📚 [Содержание](../README.md) · [Далее: 07 — Изображения и вложения](../07-images-and-media/readme.md) ➡
+71
View File
@@ -0,0 +1,71 @@
# 07 — Изображения и вложения
🌍 [English](../../en/07-images-and-media/readme.md) · [Türkçe](../../tr/07-images-and-media/readme.md) · [Deutsch](../../de/07-images-and-media/readme.md) · [Français](../../fr/07-images-and-media/readme.md) · **Русский**
## Как вставить изображение в документ
1. Загрузите изображение рядом с документом: откройте каталог, **Добавить файл → Загрузить файл**.
2. Сошлитесь на него из файла Markdown:
```markdown
![Топология сети](topology.png)
```
Текст в квадратных скобках — это описание, которое показывается, если изображение не загрузилось, и которое читают программы для незрячих. Пишите настоящее описание, а не «картинка».
## Где хранить изображения
Предсказуемая структура, которая работает всегда:
```
project/
readme.md
assets/
topology.png
rack.jpg
```
и в `readme.md`:
```markdown
![Топология сети](assets/topology.png)
```
## Именование — единственное правило, которое стоит запомнить
Для **каталогов** и файлов изображений используйте строчные имена без пробелов:
| Хрупко | Безопасно |
|--------|-----------|
| `Снимок экрана.PNG` | `screenshot.png` |
| `1-) Заметки Inter-VLAN/` | `01-inter-vlan/` |
Если пробелы в имени всё же есть, в ссылке пишите их как `%20`:
```markdown
![Топология](Screen%20Shot.PNG)
```
## Управление размером
В Markdown нет параметра размера, поэтому при необходимости используйте обычный HTML-тег:
```markdown
<img src="assets/topology.png" alt="Топология сети" width="600">
```
## Ссылка на файл вместо его показа
Уберите восклицательный знак — получится ссылка на скачивание:
```markdown
[Файл Packet Tracer](main.pkt)
```
## Вложения в задачах
Во время написания задачи или комментария перетащите файл в текстовое поле. Он загрузится, и ссылка вставится сама. Используйте это для скриншотов и логов, которым не место в самом репозитории.
---
⬅ [Назад: 06 — Основы Markdown](../06-markdown-basics/readme.md) · 📚 [Содержание](../README.md) · [Далее: 08 — Коммиты и история](../08-commits-and-history/readme.md) ➡
+46
View File
@@ -0,0 +1,46 @@
# 08 — Коммиты и история
🌍 [English](../../en/08-commits-and-history/readme.md) · [Türkçe](../../tr/08-commits-and-history/readme.md) · [Deutsch](../../de/08-commits-and-history/readme.md) · [Français](../../fr/08-commits-and-history/readme.md) · **Русский**
Коммит — это один сохранённый шаг: что изменилось, кто изменил, когда и зачем.
## Как написать хорошее сообщение
```
добавить заметки по настройке VLAN
исправить неверный адрес шлюза в readme
удалить неиспользуемый дамп трафика
```
- Одна строка, настоящее время, без точки в конце.
- Говорите, *что делает* изменение, а не «обновление» или «исправления».
- Нужно объяснить подробнее? Пишите в поле описания под кратким.
## Хорошие привычки
- **Одна мысль на коммит.** Два несвязанных изменения — это два коммита.
- **Коммитьте часто.** Маленькие шаги легко просматривать и легко откатывать.
- **Никогда не коммитьте пароли, ключи и токены.** Удаление позже не убирает их из истории — нужно менять сам секрет.
## Как читать историю
| Где | Что даёт |
|-----|----------|
| Кнопка **История** на каталоге или файле | Все коммиты, которые его затронули |
| Страница коммита | Полный diff: красное — удалено, зелёное — добавлено |
| **Blame** на файле | Какой коммит последним изменил каждую строку |
| Вкладка **Активность** | График вклада во времени |
## Откат
- **Коммит был неверным** → откройте коммит, нажмите **Revert**. Создастся новый коммит, отменяющий его; ничего не стирается.
- **Файл был неверным** → откройте его историю, посмотрите правильную версию, скопируйте содержимое обратно и закоммитьте.
- **Коммит ещё не отправлен** (работа со своего компьютера) → `git commit --amend`, чтобы поправить последний до публикации.
## Сравнение
Добавьте `/compare/main...moya-vetka` к адресу репозитория или воспользуйтесь кнопкой **Сравнить**, чтобы увидеть все различия между двумя ветками или тегами.
---
⬅ [Назад: 07 — Изображения и вложения](../07-images-and-media/readme.md) · 📚 [Содержание](../README.md) · [Далее: 09 — Ветки и пул-реквесты](../09-branches-and-pull-requests/readme.md) ➡
@@ -0,0 +1,58 @@
# 09 — Ветки и пул-реквесты
🌍 [English](../../en/09-branches-and-pull-requests/readme.md) · [Türkçe](../../tr/09-branches-and-pull-requests/readme.md) · [Deutsch](../../de/09-branches-and-pull-requests/readme.md) · [Français](../../fr/09-branches-and-pull-requests/readme.md) · **Русский**
Ветка — это безопасная копия проекта, где можно работать, не трогая `main`. Пул-реквест — это просьба вернуть проделанную работу обратно.
## Когда нужна ветка
- Изменение достаточно большое, чтобы недоделанная работа что-то сломала.
- Кто-то должен посмотреть на него до выхода «в прод».
- Вы хотите попробовать идею и иметь возможность её выбросить.
Ради опечатки в документе можно спокойно коммитить прямо в `main`.
## Создание ветки в браузере
При коммите (глава 03) выберите **Создать новую ветку для этого коммита и открыть пул-реквест**, задайте имя ветки и закоммитьте. Хорошие имена описывают работу:
```
docs/vlan-notes
fix/wrong-gateway
feature/report-export
```
## Открытие пул-реквеста
1. Перейдите в **Пул-реквесты → Новый пул-реквест**.
2. Выберите исходную ветку (вашу) и целевую (`main`).
3. Заголовок = что делает изменение. Описание = зачем, плюс всё, что стоит проверить рецензентам.
4. Нажмите **Создать пул-реквест**.
## Ревью
- Рецензенты комментируют отдельные строки на вкладке **Изменённые файлы**.
- Отправляйте новые коммиты в ту же ветку — пул-реквест обновится сам.
- После одобрения нажмите **Слить пул-реквест**, затем удалите ветку.
## Конфликты слияния
Если в `main` изменили те же строки, что и вы, KabaForge попросит разрешить конфликт. Со своего компьютера:
```bash
git switch my-branch
git fetch origin
git merge origin/main
# откройте помеченные файлы, оставьте правильные строки
git add .
git commit
git push
```
## Защита `main`
**Настройки → Ветки → Добавить правило**: требовать пул-реквест и одобрения до того, как что-либо попадёт в `main`. Рекомендуется, как только в репозитории работает больше одного человека.
---
⬅ [Назад: 08 — Коммиты и история](../08-commits-and-history/readme.md) · 📚 [Содержание](../README.md) · [Далее: 10 — Работа со своего компьютера](../10-clone-and-tokens/readme.md) ➡
+75
View File
@@ -0,0 +1,75 @@
# 10 — Работа со своего компьютера
🌍 [English](../../en/10-clone-and-tokens/readme.md) · [Türkçe](../../tr/10-clone-and-tokens/readme.md) · [Deutsch](../../de/10-clone-and-tokens/readme.md) · [Français](../../fr/10-clone-and-tokens/readme.md) · **Русский**
Для документов хватает браузера. Для настоящей работы — много файлов сразу или запуск кода — скопируйте репозиторий на свою машину.
## Получить копию
Нажмите кнопку **Клонировать** на странице репозитория и скопируйте адрес.
```bash
git clone https://forge.kabaforce.com/owner/project.git
cd project
```
## Ежедневный цикл
```bash
git pull # забрать то, что изменили другие
# ... редактируем файлы ...
git status # что я изменил?
git add . # подготовить изменения
git commit -m "добавить заметки по установке"
git push # отправить их в KabaForge
```
Если `git push` отклонён, значит кто-то отправил свои изменения раньше: выполните `git pull`, разрешите то, о чём он сообщит, и отправьте снова.
## Аутентификация из командной строки
Пароль от KabaForce ID не работает по HTTPS. Вместо него создайте токен:
1. **Аватар → Настройки → Приложения → Создать новый токен**.
2. Дайте ему имя и только нужные права (обычно достаточно `repo`).
3. Скопируйте его один раз — больше он не показывается.
4. Когда git спросит пароль, вставьте токен.
Чтобы вводить его лишь однажды:
```bash
git config --global credential.helper store
```
## SSH вместо токенов
1. Создайте ключ, если его нет: `ssh-keygen -t ed25519`
2. Скопируйте `~/.ssh/id_ed25519.pub`.
3. **Аватар → Настройки → SSH-ключи → Добавить ключ**, вставьте.
4. Клонируйте по SSH-адресу, который показан в **Клонировать**.
После этого пароль спрашивать не будут.
## Полезные мелочи
| Нужно | Команда |
|-------|---------|
| Посмотреть историю | `git log --oneline --graph` |
| Отменить локальные правки файла | `git restore file.md` |
| Переключить ветку | `git switch branch-name` |
| Создать ветку | `git switch -c new-branch` |
## Автоматизация
Репозитории можно читать и изменять через API KabaForge с тем же токеном:
```bash
curl -H "Authorization: token ВАШ_ТОКЕН" \
https://forge.kabaforce.com/api/v1/repos/owner/project/contents
```
Относитесь к токенам как к паролям: никогда не кладите их в файл, который коммитите.
---
⬅ [Назад: 09 — Ветки и пул-реквесты](../09-branches-and-pull-requests/readme.md) · 📚 [Содержание](../README.md)
+38
View File
@@ -0,0 +1,38 @@
# 📘 Руководство KabaForge — Русский
Короткие практические рецепты по работе с KabaForge — предварительный опыт не нужен.
🌍 [English](../en/README.md) · [Türkçe](../tr/README.md) · [Deutsch](../de/README.md) · [Français](../fr/README.md) · **Русский**
---
## 📚 Главы
| # | Глава |
|---|-------|
| 01 | [Начало работы](01-getting-started/readme.md) |
| 02 | [Создание репозитория](02-create-repository/readme.md) |
| 03 | [Добавление и редактирование файлов](03-add-and-edit-files/readme.md) |
| 04 | [Создание каталогов](04-create-directory/readme.md) |
| 05 | [Удаление файлов и каталогов](05-delete-files/readme.md) |
| 06 | [Основы Markdown](06-markdown-basics/readme.md) |
| 07 | [Изображения и вложения](07-images-and-media/readme.md) |
| 08 | [Коммиты и история](08-commits-and-history/readme.md) |
| 09 | [Ветки и пул-реквесты](09-branches-and-pull-requests/readme.md) |
| 10 | [Работа со своего компьютера](10-clone-and-tokens/readme.md) |
---
## 🚀 Версия на 60 секунд
1. Войдите на [forge.kabaforce.com](https://forge.kabaforce.com) с помощью KabaForce ID.
2. Нажмите **+ → Новый репозиторий**, дайте ему имя, отметьте *Инициализировать репозиторий*.
3. Откройте репозиторий, нажмите **Добавить файл → Новый файл**, напишите что-нибудь, нажмите **Применить изменения**.
4. Назовите файл `readme.md` — он автоматически показывается на странице каталога.
---
## 💡 Как читать это руководство
Главы независимы друг от друга. Переходите сразу к нужной; каждая — одна
страница, которую можно прочитать за несколько минут.
@@ -1,44 +1,6 @@
# 🇬🇧 01 — Getting started # 01 — Başlarken
KabaForge is the place where your code, documents and project history live. This chapter gets you signed in and shows you around. 🌍 [English](../../en/01-getting-started/readme.md) · **Türkçe** · [Deutsch](../../de/01-getting-started/readme.md) · [Français](../../fr/01-getting-started/readme.md) · [Русский](../../ru/01-getting-started/readme.md)
## Signing in
1. Open [forge.kabaforce.com](https://forge.kabaforce.com).
2. Press **Sign in with KabaForce ID**.
3. Enter your KabaForce account details on `id.kabaforce.com`.
4. You are returned to KabaForge, signed in.
There is no separate password for KabaForge — your KabaForce ID is the only account you need. If you do not have one yet, use the **Sign up** link on the same page.
## What you see after signing in
| Area | What it is for |
|------|----------------|
| **Dashboard** (home) | Recent activity across your repositories |
| **Explore** | Public repositories on this server |
| **+** (top right) | Create a new repository or organisation |
| **Avatar** (top right) | Your profile, settings and sign out |
## Vocabulary you will meet
- **Repository (repo)** — one project: its files plus their entire history.
- **Commit** — one saved change, with a message describing it.
- **Branch** — a parallel line of work; the default one is usually `main`.
- **Pull request** — a proposal to merge one branch into another.
## Your first five minutes
1. Press **+ → New Repository**.
2. Name it `deneme` (or anything else), tick *Initialize repository*, press **Create**.
3. Open it and press **Add File → New File**.
4. Type `readme.md` as the name, write a couple of lines, press **Commit Changes**.
You now have a repository with a front page. The next chapters explain each of those steps in detail.
---
# 🇹🇷 01 — Başlarken
KabaForge; kodunuzun, belgelerinizin ve proje geçmişinizin durduğu yerdir. Bu bölüm sizi içeri alır ve ortamı tanıtır. KabaForge; kodunuzun, belgelerinizin ve proje geçmişinizin durduğu yerdir. Bu bölüm sizi içeri alır ve ortamı tanıtır.
@@ -75,3 +37,7 @@ KabaForge'un ayrı bir parolası yoktur — tek hesabınız KabaForce ID'dir. He
4. Ad olarak `readme.md` yazın, birkaç satır ekleyin, **Değişiklikleri Uygula**'ya basın. 4. Ad olarak `readme.md` yazın, birkaç satır ekleyin, **Değişiklikleri Uygula**'ya basın.
Artık ön sayfası olan bir deponuz var. Sonraki bölümler bu adımların her birini ayrıntılı anlatıyor. Artık ön sayfası olan bir deponuz var. Sonraki bölümler bu adımların her birini ayrıntılı anlatıyor.
---
📚 [İçindekiler](../README.md) · [Sonraki: 02 — Depo oluşturma](../02-create-repository/readme.md) ➡
+41
View File
@@ -0,0 +1,41 @@
# 02 — Depo oluşturma
🌍 [English](../../en/02-create-repository/readme.md) · **Türkçe** · [Deutsch](../../de/02-create-repository/readme.md) · [Français](../../fr/02-create-repository/readme.md) · [Русский](../../ru/02-create-repository/readme.md)
Depo, tek bir projedir. Her dosya için değil, her proje için bir depo açın.
## Adımlar
1. Sağ üstteki **+** → **Yeni Depo**.
2. **Sahip** — kendiniz veya üyesi olduğunuz bir organizasyon.
3. **Depo adı** — küçük harf, boşluksuz: `network-lab`, `web-site`, `guide`.
4. **Açıklama** — ne olduğunu anlatan tek satır. Arama sonuçlarında görünür.
5. **Görünürlük**
- *Herkese açık* — sunucuya erişebilen herkes okuyabilir.
- *Özel* — yalnız siz ve davet ettikleriniz.
6. **Depoyu başlat** — işaretleyin. İlk işlemeyi `README.md` ile oluşturur, depo hemen kullanılabilir olur.
7. **Depo Oluştur**'a basın.
## İyi adlar
| Yerine | Tercih edin |
|--------|-------------|
| `Yeni Proje (son)` | `yeni-proje` |
| `Ağ Ödevi 1` | `network-lab-01` |
| `test test 2` | `packet-tracer-tests` |
Adlarda boşluk ve parantez, bağlantı paylaşmayı zorlaştırır ve belge içindeki göreli yolları karıştırabilir. Küçük harf, rakam ve tire her zaman güvenlidir.
## Oluşturduktan sonra
- **Ayarlar → Katkıcılar** — başkalarına okuma veya yazma yetkisi verin.
- **Ayarlar → Dallar** — `main` dalını koruyun ki kimse doğrudan işleme yapamasın.
- **Dosya Ekle** — depoyu doldurmaya başlayın (bölüm 03).
## Depo silme
**Ayarlar → Tehlikeli Bölge → Bu depoyu sil.** Onaylamak için depo adını yazmanız gerekir. Geri alınamaz — geçmiş de gider.
---
⬅ [Önceki: 01 — Başlarken](../01-getting-started/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 03 — Dosya ekleme ve düzenleme](../03-add-and-edit-files/readme.md) ➡
@@ -1,53 +1,6 @@
# 🇬🇧 03 — Adding and editing files # 03 — Dosya ekleme ve düzenleme
Everything in this chapter happens in the browser. No tools to install. 🌍 [English](../../en/03-add-and-edit-files/readme.md) · **Türkçe** · [Deutsch](../../de/03-add-and-edit-files/readme.md) · [Français](../../fr/03-add-and-edit-files/readme.md) · [Русский](../../ru/03-add-and-edit-files/readme.md)
## Add File menu
Open a repository (or any folder inside it) and press **Add File**:
| Item | Use it for |
|------|-----------|
| **New File** | Writing a file by hand — notes, code, `readme.md` |
| **New Directory** | Creating an empty folder (chapter 04) |
| **Upload File** | Bringing files from your computer — images, PDFs, archives |
| **Patch** | Applying a ready-made diff |
## Writing a new file
1. **Add File → New File**.
2. Type the file name at the top, for example `notes.md`.
Typing `docs/notes.md` creates the `docs` folder at the same time.
3. Write the content in the editor.
4. Fill in the commit box at the bottom:
- **Summary** — short, in the imperative: *add setup notes*.
- **Description** — optional detail.
5. Choose **Commit directly to `main`**, or *create a new branch* if you want a review first (chapter 09).
6. Press **Commit Changes**.
## Uploading files
1. **Add File → Upload File**.
2. Drag files in, or press the box to pick them.
3. To place them in a subfolder, type the folder name in the path field at the top.
4. Press **Commit Changes**.
Very large files (video, disk images) belong in file storage, not in a repository — the history keeps every version forever.
## Editing an existing file
1. Open the file.
2. Press the pencil ✏️ icon at the top right.
3. Change the text; the **Preview changes** tab shows what you altered.
4. Commit as above.
## Renaming and moving
Editing a file lets you change its path: put the cursor in the name field and type a new path, e.g. `docs/notes.md`. On commit, the file is moved — history is preserved.
---
# 🇹🇷 03 — Dosya ekleme ve düzenleme
Bu bölümdeki her şey tarayıcıda yapılır. Kurulacak araç yoktur. Bu bölümdeki her şey tarayıcıda yapılır. Kurulacak araç yoktur.
@@ -93,3 +46,7 @@ Bir depoyu (veya içindeki bir klasörü) açıp **Dosya Ekle**'ye basın:
## Yeniden adlandırma ve taşıma ## Yeniden adlandırma ve taşıma
Düzenleme ekranında yolu değiştirebilirsiniz: ad alanına yeni yolu yazın, örneğin `belgeler/notlar.md`. İşlediğinizde dosya taşınır — geçmiş korunur. Düzenleme ekranında yolu değiştirebilirsiniz: ad alanına yeni yolu yazın, örneğin `belgeler/notlar.md`. İşlediğinizde dosya taşınır — geçmiş korunur.
---
⬅ [Önceki: 02 — Depo oluşturma](../02-create-repository/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 04 — Dizin oluşturma](../04-create-directory/readme.md) ➡
@@ -1,51 +1,6 @@
# 🇬🇧 04 — Creating directories # 04 — Dizin oluşturma
## The quick way 🌍 [English](../../en/04-create-directory/readme.md) · **Türkçe** · [Deutsch](../../de/04-create-directory/readme.md) · [Français](../../fr/04-create-directory/readme.md) · [Русский](../../ru/04-create-directory/readme.md)
1. Open the repository, or the folder you want the new folder inside.
2. **Add File → New Directory**.
3. Type the folder name, e.g. `docs`.
4. Press **Commit Changes**.
The panel shows where the folder will be created (`current/path/`) above the name box, so you always know where you are.
## Nested folders in one go
Type a path instead of a single name:
```
docs/images
```
That creates `docs`, and `images` inside it, in a single commit.
## Why a `.gitkeep` file appears
Version control tracks *files*, not empty folders. To keep a folder that has nothing in it yet, KabaForge puts an empty file named `.gitkeep` inside. It has no effect on your project — delete it once the folder has real content, or simply leave it.
## The other way: create a folder while creating a file
**Add File → New File** and type a path in the name box:
```
reports/2026/january.md
```
Both folders and the file are created together. Use this when you already know the first file.
## Naming rules that save you pain
| Avoid | Use |
|-------|-----|
| `Ağ Ödevi (1)` | `network-lab-01` |
| `My Notes` | `my-notes` or `notes` |
| `resimler ve ekler` | `assets` |
Folder names with **spaces** or brackets make links harder to share, and relative image paths inside Markdown are more fragile. Lowercase letters, digits and hyphens are always safe.
---
# 🇹🇷 04 — Dizin oluşturma
## Hızlı yol ## Hızlı yol
@@ -89,3 +44,7 @@ Klasörler ve dosya birlikte oluşur. İlk dosyanın ne olacağını biliyorsan
| `resimler ve ekler` | `assets` | | `resimler ve ekler` | `assets` |
Klasör adlarında **boşluk** veya parantez olması bağlantı paylaşımını zorlaştırır; Markdown içindeki göreli görsel yolları da daha kırılgan olur. Küçük harf, rakam ve tire her zaman güvenlidir. Klasör adlarında **boşluk** veya parantez olması bağlantı paylaşımını zorlaştırır; Markdown içindeki göreli görsel yolları da daha kırılgan olur. Küçük harf, rakam ve tire her zaman güvenlidir.
---
⬅ [Önceki: 03 — Dosya ekleme ve düzenleme](../03-add-and-edit-files/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 05 — Dosya ve dizin silme](../05-delete-files/readme.md) ➡
+49
View File
@@ -0,0 +1,49 @@
# 05 — Dosya ve dizin silme
🌍 [English](../../en/05-delete-files/readme.md) · **Türkçe** · [Deutsch](../../de/05-delete-files/readme.md) · [Français](../../fr/05-delete-files/readme.md) · [Русский](../../ru/05-delete-files/readme.md)
Hiçbir şey gerçekten kaybolmaz: silme de bir işlemedir ve eski içerik geçmişte durur.
## Tek dosya silme
1. Dosyayı açın.
2. Dosya görünümünün sağ üstündeki **…** menüsüne basın.
3. **Bu dosyayı sil**'i seçin (ya da düzenleme kaleminin yanındaki 🗑️ ikonunu kullanın).
4. Bir işleme mesajı yazıp **Değişiklikleri Uygula**'ya basın.
## Klasör silme
1. Klasörü açın.
2. *Dosya Ekle*'nin yanındaki **…** menüsüne basın.
3. **Bu dizini sil**'i seçin.
4. İşleyin.
Klasörün içindeki her şey o tek işlemede kaldırılır.
## Aynı anda birden çok dosya silme
Tarayıcı tek seferde tek yol siler. Büyük temizlik için bilgisayarınızdan çalışın (bölüm 10):
```bash
git rm -r eski-klasor
git commit -m "eski klasör kaldırıldı"
git push
```
## Silinen dosyayı geri getirme
1. Dosyanın bulunduğu klasörde **Geçmiş**'i ya da depo geçmişini açın.
2. Silmeden *önceki* işlemeyi bulun.
3. Dosyayı o işlemede açıp içeriği kopyalayın veya **Bu noktadaki kaynağa göz at** ile yeniden oluşturun.
Bir kez işlenmiş her şey geri getirilebilir. Editöre yazıp hiç işlemediğiniz bir şey getirilemez.
## Dikkat edilecekler
- **Dosya yerine klasörü silmek** — tek dosya kastediyorsanız menü başlığının *dosya* dediğine bakın.
- **Korumalı dallar** — `main` korumalıysa silme, değişiklik isteğiyle ilerler (bölüm 09).
- **Sırlar** — bir parolayı dosyadan silmek onu geçmişten *kaldırmaz*. Parolanın kendisini değiştirin.
---
⬅ [Önceki: 04 — Dizin oluşturma](../04-create-directory/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 06 — Markdown temelleri](../06-markdown-basics/readme.md) ➡
@@ -1,84 +1,6 @@
# 🇬🇧 06 — Markdown basics # 06 — Markdown temelleri
Markdown is plain text with a few punctuation rules. Files ending in `.md` are rendered automatically, and a file named `readme.md` is shown on its folder page. 🌍 [English](../../en/06-markdown-basics/readme.md) · **Türkçe** · [Deutsch](../../de/06-markdown-basics/readme.md) · [Français](../../fr/06-markdown-basics/readme.md) · [Русский](../../ru/06-markdown-basics/readme.md)
## Headings
```markdown
# Title
## Section
### Subsection
```
Leave a blank line before and after a heading.
## Text
```markdown
**bold** *italic* ~~struck through~~ `code`
```
A single line break is ignored. To start a new paragraph, leave a blank line.
## Lists
```markdown
- first
- second
- nested (two spaces)
1. step one
2. step two
```
## Links
```markdown
[KabaForge](https://forge.kabaforce.com)
[chapter 04](../04-create-directory/readme.md)
```
Links to files in the same repository are best written as relative paths — they keep working on every branch.
## Code
Fenced blocks keep spacing and add colours. Write the language after the opening fence:
~~~markdown
```bash
git status
```
~~~
## Tables
```markdown
| Column | Meaning |
|--------|---------|
| `main` | default branch |
| `.md` | Markdown file |
```
## Quotes, rules, tasks
```markdown
> A quoted note.
---
- [x] done
- [ ] not done yet
```
## Practical tips
- Preview before committing: the **Preview** tab in the editor renders exactly what others will see.
- Keep one sentence per line in long documents — differences between versions stay readable.
- Emoji work directly: 📌 ✅ ⚠️
---
# 🇹🇷 06 — Markdown temelleri
Markdown, birkaç noktalama kuralı olan düz metindir. `.md` ile biten dosyalar otomatik olarak biçimlendirilir; `readme.md` adlı dosya bulunduğu klasörün sayfasında gösterilir. Markdown, birkaç noktalama kuralı olan düz metindir. `.md` ile biten dosyalar otomatik olarak biçimlendirilir; `readme.md` adlı dosya bulunduğu klasörün sayfasında gösterilir.
@@ -155,3 +77,7 @@ git status
- İşlemeden önce önizleyin: editördeki **Önizleme** sekmesi, başkalarının göreceğinin aynısını gösterir. - İşlemeden önce önizleyin: editördeki **Önizleme** sekmesi, başkalarının göreceğinin aynısını gösterir.
- Uzun belgelerde her cümleyi ayrı satıra yazın — sürümler arası farklar okunaklı kalır. - Uzun belgelerde her cümleyi ayrı satıra yazın — sürümler arası farklar okunaklı kalır.
- Emoji doğrudan çalışır: 📌 ✅ ⚠️ - Emoji doğrudan çalışır: 📌 ✅ ⚠️
---
⬅ [Önceki: 05 — Dosya ve dizin silme](../05-delete-files/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 07 — Görseller ve ekler](../07-images-and-media/readme.md) ➡
+71
View File
@@ -0,0 +1,71 @@
# 07 — Görseller ve ekler
🌍 [English](../../en/07-images-and-media/readme.md) · **Türkçe** · [Deutsch](../../de/07-images-and-media/readme.md) · [Français](../../fr/07-images-and-media/readme.md) · [Русский](../../ru/07-images-and-media/readme.md)
## Belgeye görsel koyma
1. Görseli belgenin yanına yükleyin: klasörü açın, **Dosya Ekle → Dosya Yükle**.
2. Markdown dosyasından ona atıf yapın:
```markdown
![Ağ topolojisi](topoloji.png)
```
Köşeli parantezdeki metin, görsel yüklenemezse gösterilen açıklamadır ve ekran okuyucular tarafından okunur. "resim" değil, gerçek bir açıklama yazın.
## Görselleri nerede tutmalı
Her zaman işe yarayan öngörülebilir düzen:
```
proje/
readme.md
assets/
topoloji.png
kabinet.jpg
```
ve `readme.md` içinde:
```markdown
![Ağ topolojisi](assets/topoloji.png)
```
## Adlandırma — akılda kalacak tek kural
**Klasör** ve görsel adlarında boşluksuz, küçük harf kullanın:
| Kırılgan | Güvenli |
|----------|---------|
| `Ekran Alıntısı.PNG` | `ekran-alintisi.png` |
| `1-) Inter-VLAN Notlar/` | `01-inter-vlan/` |
Adda boşluk varsa bağlantıda `%20` olarak yazın:
```markdown
![Topoloji](Ekran%20Alintisi.PNG)
```
## Boyut ayarlama
Markdown'da boyut seçeneği yoktur; gerektiğinde düz HTML etiketi kullanın:
```markdown
<img src="assets/topoloji.png" alt="Ağ topolojisi" width="600">
```
## Göstermek yerine bağlantı vermek
Ünlem işaretini kaldırırsanız indirme bağlantısı olur:
```markdown
[Packet Tracer dosyası](main.pkt)
```
## Konulardaki ekler
Bir konu ya da yorum yazarken metin kutusuna dosya sürükleyin. Dosya yüklenir ve bağlantısı sizin için eklenir. Deponun kendisine ait olmayan ekran görüntüleri ve günlükler için bunu kullanın.
---
⬅ [Önceki: 06 — Markdown temelleri](../06-markdown-basics/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 08 — İşlemeler ve geçmiş](../08-commits-and-history/readme.md) ➡
@@ -1,47 +1,6 @@
# 🇬🇧 08 — Commits and history # 08 — İşlemeler ve geçmiş
A commit is one saved step: what changed, who changed it, when, and why. 🌍 [English](../../en/08-commits-and-history/readme.md) · **Türkçe** · [Deutsch](../../de/08-commits-and-history/readme.md) · [Français](../../fr/08-commits-and-history/readme.md) · [Русский](../../ru/08-commits-and-history/readme.md)
## Writing a good message
```
add VLAN configuration notes
fix wrong gateway address in readme
remove unused packet capture
```
- One line, present tense, no full stop.
- Say *what* the change does, not "update" or "fix stuff".
- Longer explanation? Put it in the description box below the summary.
## Committing well
- **One idea per commit.** Two unrelated changes are two commits.
- **Commit often.** Small steps are easy to review and easy to undo.
- **Never commit passwords, keys or tokens.** Removing them later does not remove them from history — you have to change the secret itself.
## Reading history
| Where | What you get |
|-------|--------------|
| **History** button on a folder or file | Every commit that touched it |
| A commit's page | The full diff: red removed, green added |
| **Blame** on a file | Which commit last changed each line |
| **Activity** tab | Contribution graph over time |
## Undoing
- **One commit was wrong** → open the commit, press **Revert**. This creates a new commit that undoes it; nothing is erased.
- **A file was wrong** → open its history, view the good version, copy the content back and commit.
- **A commit is not pushed yet** (working from your computer) → `git commit --amend` to fix the last one before sharing it.
## Comparing
Add `/compare/main...my-branch` to a repository URL, or use the **Compare** button, to see every difference between two branches or tags.
---
# 🇹🇷 08 — İşlemeler ve geçmiş
İşleme, kaydedilmiş tek bir adımdır: ne değişti, kim değiştirdi, ne zaman ve neden. İşleme, kaydedilmiş tek bir adımdır: ne değişti, kim değiştirdi, ne zaman ve neden.
@@ -81,3 +40,7 @@ kullanılmayan paket kaydı kaldırıldı
## Karşılaştırma ## Karşılaştırma
Depo adresine `/compare/main...dalim` ekleyin ya da **Karşılaştır** düğmesini kullanın; iki dal veya etiket arasındaki tüm farkı görürsünüz. Depo adresine `/compare/main...dalim` ekleyin ya da **Karşılaştır** düğmesini kullanın; iki dal veya etiket arasındaki tüm farkı görürsünüz.
---
⬅ [Önceki: 07 — Görseller ve ekler](../07-images-and-media/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 09 — Dallar ve değişiklik istekleri](../09-branches-and-pull-requests/readme.md) ➡
@@ -1,59 +1,6 @@
# 🇬🇧 09 — Branches and pull requests # 09 — Dallar ve değişiklik istekleri
A branch is a safe copy of the project where you can work without disturbing `main`. A pull request is the request to bring that work back. 🌍 [English](../../en/09-branches-and-pull-requests/readme.md) · **Türkçe** · [Deutsch](../../de/09-branches-and-pull-requests/readme.md) · [Français](../../fr/09-branches-and-pull-requests/readme.md) · [Русский](../../ru/09-branches-and-pull-requests/readme.md)
## When you need a branch
- The change is big enough that half-finished work would break things.
- Somebody should look at it before it goes live.
- You want to try an idea and be able to throw it away.
For a typo in a document, committing straight to `main` is fine.
## Creating a branch in the browser
While committing (chapter 03), choose **Create a new branch for this commit and start a pull request**, name the branch, and commit. Good names describe the work:
```
docs/vlan-notes
fix/wrong-gateway
feature/report-export
```
## Opening a pull request
1. Go to **Pull Requests → New Pull Request**.
2. Pick the source branch (yours) and the target (`main`).
3. Title = what the change does. Description = why, plus anything reviewers should check.
4. Press **Create Pull Request**.
## Review
- Reviewers comment on individual lines from the **Files Changed** tab.
- Push more commits to the same branch — the pull request updates itself.
- When it is approved, press **Merge Pull Request**, then delete the branch.
## Merge conflicts
If `main` changed the same lines you did, KabaForge asks you to resolve it. From your computer:
```bash
git switch my-branch
git fetch origin
git merge origin/main
# open the marked files, keep the correct lines
git add .
git commit
git push
```
## Protecting `main`
**Settings → Branches → Add rule**: require pull requests and approvals before anything reaches `main`. Recommended as soon as more than one person works in the repository.
---
# 🇹🇷 09 — Dallar ve değişiklik istekleri
Dal, `main`'i rahatsız etmeden çalışabileceğiniz güvenli bir kopyadır. Değişiklik isteği (pull request) ise o çalışmayı geri getirme talebidir. Dal, `main`'i rahatsız etmeden çalışabileceğiniz güvenli bir kopyadır. Değişiklik isteği (pull request) ise o çalışmayı geri getirme talebidir.
@@ -105,3 +52,7 @@ git push
## `main` dalını koruma ## `main` dalını koruma
**Ayarlar → Dallar → Kural ekle**: `main`'e bir şey girmeden önce değişiklik isteği ve onay şartı koyun. Depoda birden fazla kişi çalışır çalışmaz önerilir. **Ayarlar → Dallar → Kural ekle**: `main`'e bir şey girmeden önce değişiklik isteği ve onay şartı koyun. Depoda birden fazla kişi çalışır çalışmaz önerilir.
---
⬅ [Önceki: 08 — İşlemeler ve geçmiş](../08-commits-and-history/readme.md) · 📚 [İçindekiler](../README.md) · [Sonraki: 10 — Bilgisayarınızdan çalışma](../10-clone-and-tokens/readme.md) ➡
@@ -1,76 +1,6 @@
# 🇬🇧 10 — Working from your computer # 10 — Bilgisayarınızdan çalışma
The browser is enough for documents. For real work — many files at once, or running the code — copy the repository to your machine. 🌍 [English](../../en/10-clone-and-tokens/readme.md) · **Türkçe** · [Deutsch](../../de/10-clone-and-tokens/readme.md) · [Français](../../fr/10-clone-and-tokens/readme.md) · [Русский](../../ru/10-clone-and-tokens/readme.md)
## Getting a copy
Press the **Clone** button on the repository page and copy the address.
```bash
git clone https://forge.kabaforce.com/owner/project.git
cd project
```
## The daily loop
```bash
git pull # get what others changed
# ... edit files ...
git status # what did I change?
git add . # stage the changes
git commit -m "add setup notes"
git push # send them to KabaForge
```
If `git push` is rejected, somebody else pushed first: run `git pull`, resolve anything it reports, then push again.
## Signing in from the command line
Your KabaForce ID password does not work over HTTPS. Create a token instead:
1. **Avatar → Settings → Applications → Generate New Token**.
2. Give it a name and only the permissions you need (`repo` is usually enough).
3. Copy it once — it is never shown again.
4. When git asks for a password, paste the token.
Store it so you are asked only once:
```bash
git config --global credential.helper store
```
## SSH instead of tokens
1. Create a key if you do not have one: `ssh-keygen -t ed25519`
2. Copy `~/.ssh/id_ed25519.pub`.
3. **Avatar → Settings → SSH Keys → Add Key**, paste it.
4. Clone with the SSH address shown under **Clone**.
No password prompts after that.
## Useful extras
| Need | Command |
|------|---------|
| See the history | `git log --oneline --graph` |
| Discard local changes to a file | `git restore file.md` |
| Switch branch | `git switch branch-name` |
| Create a branch | `git switch -c new-branch` |
## Automation
Repositories can also be read and written through the KabaForge API using the same token:
```bash
curl -H "Authorization: token YOUR_TOKEN" \
https://forge.kabaforce.com/api/v1/repos/owner/project/contents
```
Treat tokens like passwords: never put one in a file you commit.
---
# 🇹🇷 10 — Bilgisayarınızdan çalışma
Belgeler için tarayıcı yeterlidir. Asıl iş için — çok dosyayı birden değiştirmek ya da kodu çalıştırmak — depoyu makinenize kopyalayın. Belgeler için tarayıcı yeterlidir. Asıl iş için — çok dosyayı birden değiştirmek ya da kodu çalıştırmak — depoyu makinenize kopyalayın.
@@ -139,3 +69,7 @@ curl -H "Authorization: token JETONUNUZ" \
``` ```
Jetonları parola gibi görün: işleyeceğiniz bir dosyanın içine asla koymayın. Jetonları parola gibi görün: işleyeceğiniz bir dosyanın içine asla koymayın.
---
⬅ [Önceki: 09 — Dallar ve değişiklik istekleri](../09-branches-and-pull-requests/readme.md) · 📚 [İçindekiler](../README.md)
+38
View File
@@ -0,0 +1,38 @@
# 📘 KabaForge Kılavuzu — Türkçe
KabaForge kullanımı için kısa ve pratik tarifler — önceden bilgi gerekmez.
🌍 [English](../en/README.md) · **Türkçe** · [Deutsch](../de/README.md) · [Français](../fr/README.md) · [Русский](../ru/README.md)
---
## 📚 Bölümler
| # | Bölüm |
|---|-------|
| 01 | [Başlarken](01-getting-started/readme.md) |
| 02 | [Depo oluşturma](02-create-repository/readme.md) |
| 03 | [Dosya ekleme ve düzenleme](03-add-and-edit-files/readme.md) |
| 04 | [Dizin oluşturma](04-create-directory/readme.md) |
| 05 | [Dosya ve dizin silme](05-delete-files/readme.md) |
| 06 | [Markdown temelleri](06-markdown-basics/readme.md) |
| 07 | [Görseller ve ekler](07-images-and-media/readme.md) |
| 08 | [İşlemeler ve geçmiş](08-commits-and-history/readme.md) |
| 09 | [Dallar ve değişiklik istekleri](09-branches-and-pull-requests/readme.md) |
| 10 | [Bilgisayarınızdan çalışma](10-clone-and-tokens/readme.md) |
---
## 🚀 60 saniyelik özet
1. [forge.kabaforce.com](https://forge.kabaforce.com) adresinde KabaForce ID ile giriş yapın.
2. **+ → Yeni Depo**'ya basın, bir ad verin, *Depoyu başlat* kutusunu işaretleyin.
3. Depoyu açın, **Dosya Ekle → Yeni Dosya**'ya basın, bir şeyler yazın, **Değişiklikleri Uygula**'ya basın.
4. Bir dosyaya `readme.md` adını verirseniz klasör sayfasında otomatik gösterilir.
---
## 💡 Bu kılavuz nasıl okunur
Bölümler birbirinden bağımsızdır. İhtiyacınız olana atlayın; her biri birkaç
dakikada bitirilebilecek tek sayfadır.