kılavuz: KabaForge kullanım kılavuzu (EN + TR, 10 bölüm)
This commit is contained in:
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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: 📌 ✅ ⚠️
|
||||||
@@ -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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|

|
||||||
|
```
|
||||||
|
|
||||||
|
## 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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
@@ -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.
|
||||||
Reference in New Issue
Block a user