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
- Přidej remote pro čtení (upstream)
Dejme tomu, že tvůj zdrojový repozitář je:git remote add upstream https://github.com/neco/projekt.gitPak budeš umět brát nové commity příkazem:git fetch upstream git merge upstream/main # nebo git rebase upstream/main - Nastav svůj vlastní remote pro push
Dejme tomu, že máš vlastní repo:git remote add origin https://github.com/ja/moje-fork.gita v Git nastavíš, že výchozí push má jít doorigin, ne doupstream:git push origin main - 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_pushNebo jednoduše:git remote set-url --push upstream no_pushTeď 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.