Nemůžete fork repository? Jde to i jinak!

Q: Mám remote repository. Chci z něj brát nové commity, ale nechci nebo nemůžu do něj pushovat. Chci pushovat do svého soukromého repa. Jak to nastavím?

A: Tohle se dá vyřešit čistě v Git konfiguraci – Git může mít víc „remote“ odkazů a každý se dá použít jen na fetch nebo jen na push.

Postup

  1. Přidej remote pro čtení (upstream)
    Dejme tomu, že tvůj zdrojový repozitář je: git remote add upstream https://github.com/neco/projekt.git Pak budeš umět brát nové commity příkazem: git fetch upstream git merge upstream/main # nebo git rebase upstream/main
  2. Nastav svůj vlastní remote pro push
    Dejme tomu, že máš vlastní repo: git remote add origin https://github.com/ja/moje-fork.git a v Git nastavíš, že výchozí push má jít do origin, ne do upstream: git push origin main
  3. Volitelně: zakázat push do upstream
    Pokud chceš mít jistotu, že do upstreamu nikdy omylem nepustíš push, nastav v .git/config: [remote "upstream"] url = https://github.com/neco/projekt.git fetch = +refs/heads/*:refs/remotes/upstream/* pushurl = no_push Nebo jednoduše: git remote set-url --push upstream no_push Teď když zkusíš git push upstream, Git ti řekne, že není kam pushovat.

✅ Výsledek:

  • git fetch upstream → bereš změny z původního repa.
  • git push origin → posíláš změny jen do svého repa.
  • Do upstreamu se nikdy nic nepushne.

Leave a Reply

Discover more from Curious Coder

Subscribe now to keep reading and get access to the full archive.

Continue reading