how to load packages on local computer when using remote kernels

I usually works remotely using kernels on our hpc and front-end on my local laptop. This enable me do relatively large computation within my laptop(IP address of my laptop may change frequently). But there is a problem when come across packages. Since I manage all the packages on my local computer, I can't just use Get["mypack.m"] when I use remote kernel, instead, I have to copy all the packages to my remote machine before Get. However, I'm constantly developing the packages and copying them back and forth between local and remote computer is quiet tedious. Are there simpler ways to deal with it?

-
Have you tried keeping your code in github/bitbucket repos and doing a git pull before a Get (on remote)? –  rm -rf Oct 28 at 19:08
Dropbox is also an option: How do I put my packages into Dropbox –  rm -rf Oct 28 at 22:22
if you are constantly changing your packages I fully support rm -rf suggestion to use a version control system. Using a distributed one like git or mercurial will make it especially easy to set up everything so you only need a pull + update on the remote machines before loading the packages. You don't necessarily need to resign your code to a repository hoster (or dropbox) for that if you don't want to. –  Albert Retey Oct 29 at 9:37
@AlbertRetey It probably wouldn't be the best to simply call git init in the $UserBase packages directory, but I could be wrong. I'm not certain but I'm willing to be his concern isn't the dropbox/git but correctly setting up package loading on both systems so it works. – Liam William Nov 16 at 3:22 @LiamWilliam: I agree that it isn't the best solution to use the complete $UserBaseDirectory as a repository, although I think it wouldn't do any harm. I also agree that the OP didn't mention to have concerns about using a repository hoster. I just wanted to make clear that rm-rf's suggestion not necessarily means that this is necessary (in case the OP or any reader would have concerns). Describing such a setup in detail is some work (and to a large extent is covered by the tools documentation) and depends on the OPs specific demands, that's probably why neither me nor anyone else did it... –  Albert Retey Nov 17 at 13:26