Si, è possibile utilizzare ftp:

http://it.wikipedia.org/wiki/Git_%28software%29
I repository possono essere pubblicati facilmente tramite HTTP, FTP, ssh, rsync, o uno speciale protocollo git. Git ha anche un'emulazione del server CVS, che consente di usare gli esistenti client CVS e plugin per IDE per accedere ai repository Git.
Per esempio, puoi passare questo al comando push:

ftp[s]://host.xz[ort]/path/to/repo.git/

Per usare http, invece:

http[s]://host.xz[ort]/path/to/repo.git/



È un po' che non lo uso e non ricordo se si possa utilizzare un file da passare a git. Dovresti vedere nella documentazione. Se trovo il libro(non mi ricordo dove l'ho cacciato) ti faccio sapere.

Per quanto riguarda la selezione dei file da inviare, il commit invia solo i file modificati. Se provi a fare un commit e i file non sono stati modificati, non viene inviato niente(git ti mostra un messaggio esplicativo).

E, prima dimenticavo, il comando add devi eseguirlo solo la prima volta. Dalla seconda volta in poi, è sufficiente il semplice commit. Per esempio:

codice:
git commit miofile.cpp -m "Ciao Ciao"
Inoltre, per inviare i file devi effettuare una push:

codice:
git push origin master
master è il repository locale o remoto(su github?) dove vuoi inviare i file.