Ben olaya bir miktar daha vakıf oldum sanıyorum.
örneğin şimdi sana ait bir repo'ya pull-request yapıyorum. Yani senin yaptığım değişikliği kendi repona çekmeni rica ediyorum.
Sana ait repodaki değişiklikleri de düzenli olarak indirmem ve kendi lokalimde güncel tutman gerekiyor (bunu sanıyorum "fetch" komutu ile yapıyorum)
push komutu ise bana ait bir repoya lokaldeki değişiklikleri bastımak için kullanılıyor (yani onaya gerek olmaksızın, zaten push yaparken repoya kullanıcı adı ve şifre yollaman gerekiyor)
şimdi şöyle bir test yapalım:: hello-world bana ait bir repo ama sen de fork etmişsin.
hello-world üzerinde bir değişiklik yapıp push edeceğim.
daha sonra sen, lokalinde bulunan hello-world'u guncelleme yapmaksızın değiştirip bana pull-request yollamaya çalış.
muhtemelen sistem buna izin vermeyecek. pull-request'te bulunabilmen için "git fetch" yapman gerekecek. sonrasında tekrar değişiklik yapıp pull-requestte bulunabileceksin sanıyorum.