git-learning/docs/fork-repo.md

4.9 KiB

Krok 1: Forknutí repozitáře na GitHubu

  1. Přejdi na stránku původního repozitáře na GitHubu:
  1. Klikni na tlačítko "Fork" v pravém horním rohu.

  2. Vyber svůj účet jako cíl pro nový fork.

Krok 2: Klonování forkovaného repozitáře z GitHubu

  1. Klonuj svůj forkovaný repozitář na lokální počítač pomocí SSH:
git clone git@github.com:zkreml/phanpy-cz.git
cd phanpy-cz

Krok 3: Vytvoření nového prázdného repozitáře na Gitea

  1. Přejdi na Gitea a přihlas se ke svému účtu.

  2. Klikni na tlačítko "New Repository" nebo "Nový Repozitář".

  3. Vyplň informace o repozitáři:

  • Repository Name: phanpy-cz
  • Description: Krátký popis repozitáře (např. "Lokalizovaná verze projektu Phanpy do češtiny").
  • Visibility: Vyber, zda má být repozitář veřejný nebo soukromý.
  • Initialize Repository: Nezaškrtávej volby pro přidání README, .gitignore nebo licence.

Klikni na tlačítko "Create Repository" nebo "Vytvořit Repozitář".

Krok 4: Přidání vzdáleného repozitáře na Gitea

  1. Přidej nový vzdálený repozitář (Gitea):
git remote add gitea ssh://git@git.arch-linux.cz:29418/Archos/phanpy-cz.git
  • Ověř nastavení vzdálených repozitářů:
git remote -v

Měl bys vidět něco takového:

origin    git@github.com:zkreml/phanpy-cz.git (fetch)
origin    git@github.com:zkreml/phanpy-cz.git (push)
gitea     ssh://git@git.arch-linux.cz:29418/Archos/phanpy-cz.git (fetch)
gitea     ssh://git@git.arch-linux.cz:29418/Archos/phanpy-cz.git (push)

Krok 5: Pushnutí hlavní větve do Gitea

  1. Pushni hlavní větev do vzdáleného repozitáře na Gitea:
git push gitea main

Krok 6: Nastavení upstream repozitáře

  1. Přidej upstream repozitář pro synchronizaci s původním repozitářem:
git remote add upstream git@github.com:cheeaun/phanpy.git
  1. Ověř nastavení vzdálených repozitářů:
git remote -v

Měl bys vidět něco takového:

origin    git@github.com:zkreml/phanpy-cz.git (fetch)
origin    git@github.com:zkreml/phanpy-cz.git (push)
gitea     ssh://git@git.arch-linux.cz:29418/Archos/phanpy-cz.git (fetch)
gitea     ssh://git@git.arch-linux.cz:29418/Archos/phanpy-cz.git (push)
upstream  git@github.com:cheeaun/phanpy.git (fetch)
upstream  git@github.com:cheeaun/phanpy.git (push)

2. Synchronizace změn z upstream repozitáře:

git remote add upstream https://github.com/cheeaun/phanpy.git (pokud jsem to neuděl dříve)
git fetch upstream
git checkout main
git merge upstream/main

Vytvoření tagu

Tagy se používají k označení konkrétních bodů v historii repozitáře, obvykle při vydání nové verze softwaru.

  1. Vytvoř tag lokálně:
git tag -a v1.0 -m "První vydání"
  • v1.0 je název tagu (můžeš ho změnit na libovolný název, který odpovídá verzi).
  • -m "První vydání" je zpráva k tagu.

Pushni tag na GitHub a Gitea:

git push origin v1.0
git push gitea v1.0

Vytvoření release na GitHubu

Po vytvoření tagu můžeme vytvořit release na GitHubu.

  1. Přejdi na stránku svého repozitáře na GitHubu.
  2. Klikni na záložku "Releases".
  3. Klikni na tlačítko "Draft a new release".
  4. Vyplň formulář pro nový release:
  • Tag version: Zvol vytvořený tag (v1.0).
  • Release title: Např. "První vydání".
  • Description: Popis vydání, co obsahuje, změny atd.
  1. Klikni na tlačítko "Publish release".

Vytvoření release na Gitea

Postup je podobný jako na GitHubu.

  1. Přejdi na stránku svého repozitáře na Gitea.
  2. Klikni na záložku "Releases".
  3. Klikni na tlačítko "New Release".
  4. Vyplň formulář pro nový release:
  • Tag version: Zvol vytvořený tag (v1.0).
  • Release title: Např. "První vydání".
  • Description: Popis vydání, co obsahuje, změny atd.
  1. Klikni na tlačítko "Create Release".

Kroky k aktualizaci

  1. Stáhni nejnovější změny z upstream repozitáře:
git fetch upstream
  1. Přepni se na hlavní větev (main):
git checkout main
  1. Slouč změny z upstream do své hlavní větve:
git merge upstream/main
  1. Pushni změny do svého forku na GitHubu:
git push origin main
  1. Pushni změny do svého repozitáře na Gitea:
git push gitea main

Aktualizační skript

#!/bin/bash

# Fetch latest changes from upstream
git fetch upstream

# Switch to main branch
git checkout main

# Merge upstream changes into main
git merge upstream/main

# Push changes to GitHub
git push origin main

# Push changes to Gitea
git push gitea main

Ulož tento skript jako update_repos.sh a udělej ho spustitelným:

chmod +x update_repos.sh

Nyní můžeš spustit tento skript, kdykoli budeš chtít aktualizovat své repozitáře:

./update_repos.sh