Why are you pushing shitty "not done but commiting because flight is boarding..." to the server? Surely they are only pushed to your local repo and then squashed in a commit to the main server. Or worked out on a feature branch then merged into the mainline?
You know you can git commit to you local repo without needing an internet connection.
Yes, I know git can do that, and I know pushing doodoo commits is bad practice; that was my point.
However, I prefer not to try to use a laptop for real work (because even the fastest laptops are much slower than a current Mac Pro). So, since I can't feasibly take my ginormous Mac Pro with me, as soon as I leave the office the repo on that workstation won't be my "local" one anymore.
Before moving my code into Dropbox, to avoid pushing something incomplete, I had to manually deal with transferring my local repo to the next computer(s) I was going to be working on it (typically that would mean copying the repo to a laptop for the plane, and then to a workstation at the destination).
That process was annoying and wasteful, and using Dropbox fixed that for me. Hooray!
i am still a svn user so i dont know exactly how git works, but how are you supposed to get your data on your other machines if you dont push it to the git server which is available from anywhere? Thats the point of syncing the working copy with dropbox, so you dont have to get it manually from your work machine.
As i understand it git repos are local so my other machines wont have access to that repo, or am i wrong ?
In git committing and pushing are two different things. With git you have a copy of the repo, as does anyone else who checks it out. Think of each repo like its own little svn server, everyone has one locally. So you can commit to that and yes no one has access (unless you open it up to them, but no need to complicate this). So you can commit your unfinished work without other people seeing it, and still have history to be able to go back if necessary. Then when it's ready you can push that back to the shared repo.
Branching in git is really cheap and easy compared to svn. A good way to work to always branch before starting anything. Work on that branch, commiting whenever you feel like. You don't need to push that branch unless someone else wants to work on the unfinished feature with you, or needs something from it before it is ready. In the meantime if the mainline moves on ahead you can just keep merging it into your feature branch to get the new changes. When it's ready you can then merge it back into the mainline and push that.
I'm missing where you answered his question. He's talking about sharing his latest edit to his other machines, which aren't permanently network connected, without creating an explicit git version.
> You don't need to push that branch unless someone else wants to work on the unfinished feature with you, or needs something from it before it is ready.
If you want to share a commit that isn't ready, it really should go on a feature branch and not the mainline. Then you can squash it into a real commit when its ready.
You know you can git commit to you local repo without needing an internet connection.