Sync

Sync build with push/pulling to the remote branch. 

I tested and it works when:

1) The remote doesn't exist.
2) The remote does exist and the local is behind.
3) The local is up to date and there are new changes to be pushed.