commit dfebe8a742e779a2c1a502669212e3e4bcb2d1f7 Author: Kabaforce Date: Fri Jul 24 09:33:01 2026 +0300 kılavuz: KabaForge kullanım kılavuzu (EN + TR, 10 bölüm) diff --git a/01-getting-started/readme.md b/01-getting-started/readme.md new file mode 100644 index 0000000..f053e48 --- /dev/null +++ b/01-getting-started/readme.md @@ -0,0 +1,77 @@ +# 🇬🇧 01 — Getting started + +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. + +--- + +# 🇹🇷 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. + +## Giriş yapma + +1. [forge.kabaforce.com](https://forge.kabaforce.com) adresini açın. +2. **KabaForce ID ile Giriş**'e basın. +3. `id.kabaforce.com` üzerinde KabaForce hesap bilgilerinizi girin. +4. Giriş yapmış olarak KabaForge'a dönersiniz. + +KabaForge'un ayrı bir parolası yoktur — tek hesabınız KabaForce ID'dir. Henüz hesabınız yoksa aynı sayfadaki **Üye Ol** bağlantısını kullanın. + +## Giriş sonrası ekran + +| Alan | Ne işe yarar | +|------|--------------| +| **Panel** (ana sayfa) | Depolarınızdaki son hareketler | +| **Keşfet** | Bu sunucudaki herkese açık depolar | +| **+** (sağ üst) | Yeni depo veya organizasyon oluşturma | +| **Avatar** (sağ üst) | Profil, ayarlar ve çıkış | + +## Karşılaşacağınız terimler + +- **Depo (repository)** — tek bir proje: dosyaları ve tüm geçmişi. +- **İşleme (commit)** — kaydedilmiş tek bir değişiklik ve onu anlatan mesaj. +- **Dal (branch)** — paralel çalışma hattı; varsayılanı genelde `main`'dir. +- **Değişiklik isteği (pull request)** — bir dalı diğerine birleştirme önerisi. + +## İlk beş dakikanız + +1. **+ → Yeni Depo**'ya basın. +2. Adını `deneme` koyun, *Depoyu başlat* kutusunu işaretleyin, **Oluştur**'a basın. +3. Depoyu açıp **Dosya Ekle → Yeni Dosya**'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. diff --git a/02-create-repository/readme.md b/02-create-repository/readme.md new file mode 100644 index 0000000..0c03efb --- /dev/null +++ b/02-create-repository/readme.md @@ -0,0 +1,73 @@ +# 🇬🇧 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. diff --git a/03-add-and-edit-files/readme.md b/03-add-and-edit-files/readme.md new file mode 100644 index 0000000..75a269c --- /dev/null +++ b/03-add-and-edit-files/readme.md @@ -0,0 +1,95 @@ +# 🇬🇧 03 — Adding and editing files + +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. + +--- + +# 🇹🇷 03 — Dosya ekleme ve düzenleme + +Bu bölümdeki her şey tarayıcıda yapılır. Kurulacak araç yoktur. + +## Dosya Ekle menüsü + +Bir depoyu (veya içindeki bir klasörü) açıp **Dosya Ekle**'ye basın: + +| Öğe | Ne için | +|-----|---------| +| **Yeni Dosya** | Elle dosya yazmak — notlar, kod, `readme.md` | +| **Yeni Dizin** | Boş klasör oluşturmak (bölüm 04) | +| **Dosya Yükle** | Bilgisayarınızdan dosya getirmek — görsel, PDF, arşiv | +| **Yama** | Hazır bir fark (diff) uygulamak | + +## Yeni dosya yazma + +1. **Dosya Ekle → Yeni Dosya**. +2. Üstteki alana dosya adını yazın, örneğin `notlar.md`. + `belgeler/notlar.md` yazarsanız `belgeler` klasörü de aynı anda oluşur. +3. İçeriği editöre yazın. +4. Alttaki işleme kutusunu doldurun: + - **Özet** — kısa ve emir kipinde: *kurulum notları eklendi*. + - **Açıklama** — isteğe bağlı ayrıntı. +5. **Doğrudan `main` bölümüne uygula** seçin ya da önce inceleme istiyorsanız *yeni bir dal oluştur* (bölüm 09). +6. **Değişiklikleri Uygula**'ya basın. + +## Dosya yükleme + +1. **Dosya Ekle → Dosya Yükle**. +2. Dosyaları sürükleyin ya da kutuya basıp seçin. +3. Alt klasöre koymak için üstteki yol alanına klasör adını yazın. +4. **Değişiklikleri Uygula**'ya basın. + +Çok büyük dosyalar (video, disk imajı) depoya değil dosya depolamaya aittir — geçmiş, her sürümü sonsuza dek saklar. + +## Var olan dosyayı düzenleme + +1. Dosyayı açın. +2. Sağ üstteki kalem ✏️ ikonuna basın. +3. Metni değiştirin; **Değişiklikleri önizle** sekmesi neyi değiştirdiğinizi gösterir. +4. Yukarıdaki gibi işleyin. + +## 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. diff --git a/04-create-directory/readme.md b/04-create-directory/readme.md new file mode 100644 index 0000000..b173641 --- /dev/null +++ b/04-create-directory/readme.md @@ -0,0 +1,91 @@ +# 🇬🇧 04 — Creating directories + +## 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. + +--- + +# 🇹🇷 04 — Dizin oluşturma + +## Hızlı yol + +1. Depoyu ya da yeni klasörü içine koymak istediğiniz klasörü açın. +2. **Dosya Ekle → Yeni Dizin**. +3. Klasör adını yazın, örneğin `belgeler`. +4. **Değişiklikleri Uygula**'ya basın. + +Panel, ad kutusunun üstünde klasörün nereye oluşturulacağını (`mevcut/yol/`) gösterir; nerede olduğunuzu hep bilirsiniz. + +## Tek seferde iç içe klasör + +Tek ad yerine yol yazın: + +``` +belgeler/gorseller +``` + +Bu, tek işlemede `belgeler` klasörünü ve içinde `gorseller` klasörünü oluşturur. + +## `.gitkeep` dosyası neden çıkıyor + +Sürüm kontrolü klasörleri değil *dosyaları* takip eder. Henüz içi boş bir klasörü saklayabilmek için KabaForge içine `.gitkeep` adlı boş bir dosya koyar. Projenize hiçbir etkisi yoktur — klasör gerçek içerikle dolunca silebilir ya da öylece bırakabilirsiniz. + +## Diğer yol: dosya oluştururken klasör açmak + +**Dosya Ekle → Yeni Dosya**'ya basıp ad kutusuna yol yazın: + +``` +raporlar/2026/ocak.md +``` + +Klasörler ve dosya birlikte oluşur. İlk dosyanın ne olacağını biliyorsanız bunu kullanın. + +## Sizi dertten kurtaracak adlandırma kuralları + +| Kaçının | Kullanın | +|---------|----------| +| `Ağ Ödevi (1)` | `network-lab-01` | +| `Notlarım` | `notlarim` veya `notes` | +| `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. diff --git a/05-delete-files/readme.md b/05-delete-files/readme.md new file mode 100644 index 0000000..3944b63 --- /dev/null +++ b/05-delete-files/readme.md @@ -0,0 +1,89 @@ +# 🇬🇧 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. diff --git a/06-markdown-basics/readme.md b/06-markdown-basics/readme.md new file mode 100644 index 0000000..c800992 --- /dev/null +++ b/06-markdown-basics/readme.md @@ -0,0 +1,157 @@ +# 🇬🇧 06 — Markdown basics + +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: 📌 ✅ ⚠️ + +--- + +# 🇹🇷 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. + +## Başlıklar + +```markdown +# Başlık +## Bölüm +### Alt bölüm +``` + +Başlığın öncesinde ve sonrasında boş satır bırakın. + +## Metin + +```markdown +**kalın** *italik* ~~üstü çizili~~ `kod` +``` + +Tek satır sonu yok sayılır. Yeni paragraf için boş satır bırakın. + +## Listeler + +```markdown +- birinci +- ikinci + - iç madde (iki boşluk) + +1. birinci adım +2. ikinci adım +``` + +## Bağlantılar + +```markdown +[KabaForge](https://forge.kabaforce.com) +[bölüm 04](../04-create-directory/readme.md) +``` + +Aynı depodaki dosyalara göreli yolla bağlanmak en iyisidir — her dalda çalışmaya devam eder. + +## Kod + +Çitli bloklar boşlukları korur ve renk verir. Açılış çitinden sonra dili yazın: + +~~~markdown +```bash +git status +``` +~~~ + +## Tablolar + +```markdown +| Sütun | Anlamı | +|--------|--------| +| `main` | varsayılan dal | +| `.md` | Markdown dosyası | +``` + +## Alıntı, çizgi, görev listesi + +```markdown +> Alıntılanmış not. + +--- + +- [x] bitti +- [ ] henüz bitmedi +``` + +## Pratik ipuçları + +- İş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. +- Emoji doğrudan çalışır: 📌 ✅ ⚠️ diff --git a/07-images-and-media/readme.md b/07-images-and-media/readme.md new file mode 100644 index 0000000..5f13041 --- /dev/null +++ b/07-images-and-media/readme.md @@ -0,0 +1,133 @@ +# 🇬🇧 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 +Network topology +``` + +## 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 +Ağ topolojisi +``` + +## 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. diff --git a/08-commits-and-history/readme.md b/08-commits-and-history/readme.md new file mode 100644 index 0000000..dfd3b9e --- /dev/null +++ b/08-commits-and-history/readme.md @@ -0,0 +1,83 @@ +# 🇬🇧 08 — Commits and history + +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. + +--- + +# 🇹🇷 08 — İşlemeler ve geçmiş + +İşleme, kaydedilmiş tek bir adımdır: ne değişti, kim değiştirdi, ne zaman ve neden. + +## İyi mesaj yazma + +``` +VLAN yapılandırma notları eklendi +readme'deki yanlış ağ geçidi düzeltildi +kullanılmayan paket kaydı kaldırıldı +``` + +- Tek satır, nokta yok. +- Değişikliğin *ne yaptığını* söyleyin; "güncelleme" ya da "düzeltmeler" demeyin. +- Daha uzun anlatım gerekiyorsa özetin altındaki açıklama kutusuna yazın. + +## İyi işleme alışkanlıkları + +- **Her işlemede tek fikir.** İlgisiz iki değişiklik, iki işlemedir. +- **Sık işleyin.** Küçük adımlar hem kolay incelenir hem kolay geri alınır. +- **Parola, anahtar veya jetonu asla işlemeyin.** Sonradan silmek onları geçmişten kaldırmaz — sırrın kendisini değiştirmeniz gerekir. + +## Geçmişi okuma + +| Nerede | Ne verir | +|--------|----------| +| Klasör veya dosyadaki **Geçmiş** düğmesi | Ona dokunan tüm işlemeler | +| Bir işlemenin sayfası | Tam fark: kırmızı silinen, yeşil eklenen | +| Dosyadaki **Blame** | Her satırı en son hangi işlemenin değiştirdiği | +| **Aktivite** sekmesi | Zaman içindeki katkı grafiği | + +## Geri alma + +- **Bir işleme yanlıştı** → işlemeyi açıp **Geri Al**'a basın. Onu iptal eden yeni bir işleme oluşur; hiçbir şey silinmez. +- **Bir dosya yanlıştı** → geçmişini açın, doğru sürümü görüntüleyin, içeriği geri kopyalayıp işleyin. +- **İşleme henüz gönderilmediyse** (bilgisayarınızdan çalışıyorsanız) → paylaşmadan önce `git commit --amend` ile sonuncuyu düzeltin. + +## 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. diff --git a/09-branches-and-pull-requests/readme.md b/09-branches-and-pull-requests/readme.md new file mode 100644 index 0000000..5d6ce96 --- /dev/null +++ b/09-branches-and-pull-requests/readme.md @@ -0,0 +1,107 @@ +# 🇬🇧 09 — Branches and pull requests + +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. + +--- + +# 🇹🇷 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. + +## Ne zaman dal gerekir + +- Değişiklik, yarım hâliyle işleri bozacak kadar büyükse. +- Yayına girmeden önce birinin bakması gerekiyorsa. +- Bir fikri deneyip gerekirse çöpe atabilmek istiyorsanız. + +Bir belgedeki yazım hatası için doğrudan `main`'e işlemek yeterlidir. + +## Tarayıcıda dal oluşturma + +İşleme sırasında (bölüm 03) **Bu işleme için yeni bir dal oluşturun ve bir değişiklik isteği başlatın** seçeneğini seçin, dala ad verip işleyin. İyi adlar işi anlatır: + +``` +docs/vlan-notlari +fix/yanlis-gateway +feature/rapor-disa-aktarim +``` + +## Değişiklik isteği açma + +1. **Değişiklik İstekleri → Yeni Değişiklik İsteği**. +2. Kaynak dalı (sizinki) ve hedefi (`main`) seçin. +3. Başlık = değişikliğin ne yaptığı. Açıklama = nedeni ve incelemecilerin bakması gerekenler. +4. **Değişiklik İsteği Oluştur**'a basın. + +## İnceleme + +- İncelemeciler **Değişen Dosyalar** sekmesinden tek tek satırlara yorum yazar. +- Aynı dala yeni işlemeler gönderin — istek kendini günceller. +- Onaylanınca **Birleştir**'e basın, ardından dalı silin. + +## Birleştirme çakışmaları + +`main` sizinle aynı satırları değiştirdiyse KabaForge çözmenizi ister. Bilgisayarınızdan: + +```bash +git switch dalim +git fetch origin +git merge origin/main +# işaretlenen dosyaları açın, doğru satırları bırakın +git add . +git commit +git push +``` + +## `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. diff --git a/10-clone-and-tokens/readme.md b/10-clone-and-tokens/readme.md new file mode 100644 index 0000000..ada26c7 --- /dev/null +++ b/10-clone-and-tokens/readme.md @@ -0,0 +1,141 @@ +# 🇬🇧 10 — Working from your computer + +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. + +--- + +# 🇹🇷 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. + +## Kopya alma + +Depo sayfasındaki **Klonla** düğmesine basıp adresi kopyalayın. + +```bash +git clone https://forge.kabaforce.com/sahip/proje.git +cd proje +``` + +## Günlük döngü + +```bash +git pull # başkalarının değiştirdiklerini al +# ... dosyaları düzenleyin ... +git status # ne değiştirdim? +git add . # değişiklikleri hazırla +git commit -m "kurulum notları eklendi" +git push # KabaForge'a gönder +``` + +`git push` reddedilirse başkası sizden önce göndermiştir: `git pull` çalıştırın, bildirdiği çakışmaları çözün, sonra tekrar gönderin. + +## Komut satırından kimlik doğrulama + +KabaForce ID parolanız HTTPS üzerinden çalışmaz. Bunun yerine jeton oluşturun: + +1. **Avatar → Ayarlar → Uygulamalar → Yeni Jeton Üret**. +2. Bir ad verin ve yalnız ihtiyaç duyduğunuz yetkileri seçin (genelde `repo` yeter). +3. Jetonu bir kez kopyalayın — bir daha gösterilmez. +4. Git parola sorduğunda jetonu yapıştırın. + +Bir kez sorulması için saklayın: + +```bash +git config --global credential.helper store +``` + +## Jeton yerine SSH + +1. Anahtarınız yoksa oluşturun: `ssh-keygen -t ed25519` +2. `~/.ssh/id_ed25519.pub` içeriğini kopyalayın. +3. **Avatar → Ayarlar → SSH Anahtarları → Anahtar Ekle**, yapıştırın. +4. **Klonla** altındaki SSH adresiyle klonlayın. + +Bundan sonra parola sorulmaz. + +## İşe yarayan ekler + +| İhtiyaç | Komut | +|---------|-------| +| Geçmişi görmek | `git log --oneline --graph` | +| Bir dosyadaki yerel değişiklikleri atmak | `git restore dosya.md` | +| Dal değiştirmek | `git switch dal-adi` | +| Dal oluşturmak | `git switch -c yeni-dal` | + +## Otomasyon + +Depolar aynı jetonla KabaForge API'si üzerinden de okunup yazılabilir: + +```bash +curl -H "Authorization: token JETONUNUZ" \ + https://forge.kabaforce.com/api/v1/repos/sahip/proje/contents +``` + +Jetonları parola gibi görün: işleyeceğiniz bir dosyanın içine asla koymayın. diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e6857b --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# 📘 KabaForge Guide / KabaForge Kılavuzu + +Short, practical recipes for using KabaForge — no prior experience required. +Every chapter is bilingual: **English first, Turkish below.** + +KabaForge kullanımı için kısa ve pratik tarifler — önceden bilgi gerekmez. +Her bölüm iki dillidir: **önce İngilizce, altında Türkçe.** + +--- + +## 📚 Chapters / Bölümler + +| # | Chapter | Bölüm | +|---|---------|-------| +| 01 | [Getting started](01-getting-started/readme.md) | Başlarken | +| 02 | [Creating a repository](02-create-repository/readme.md) | Depo oluşturma | +| 03 | [Adding and editing files](03-add-and-edit-files/readme.md) | Dosya ekleme ve düzenleme | +| 04 | [Creating directories](04-create-directory/readme.md) | Dizin oluşturma | +| 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 | +| 08 | [Commits and history](08-commits-and-history/readme.md) | İşlemeler ve geçmiş | +| 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 | + +--- + +## 🚀 The 60-second version / 60 saniyelik özet + +**English** + +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. + +**Türkçe** + +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. + +--- + +## 💡 How to read this guide / Bu kılavuz nasıl okunur + +**English** — Chapters are independent. Jump to the one you need; each is a single page you can finish in a few minutes. + +**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.