Если мне нужно будет исправить какой-то баг, и дали ссылку на репозиторий, то я его скачаю и исправлю у себя, а как его передать в чужой репозиторий или вообще как это делается?
создаете свою форку -> создаете в своей форке новую ветку -> исправляете баг в новой ветке -> создаете pull request с ветки своей форки в основную ветку оригинального репозитория. И обычно в более-менее популярных репозиториях есть список требований/рекомендаций которые надо выполнять если хотите чтоб ваш код вмерджили
foonfyrick, Fork - это функциональность копирования чужого репозитория в свой аккаунт, если просто. В гитхабе/гитлабе есть специальная кнопка для этого.
foonfyrick, fork - вилка, ответвление по английски. Технически означает ответвление от другой ветки (master и пр.)
В новой ветке создаются изменения в виде фиксаций (commits) и когда готово, можно создать Pull Request (PR) обратно тому, от репозитория кого произошло ответвление.