How to use git to sync code without committing?
Asked Answered
E

2

8

I use egit in Eclipse to sync my code between two locations using a repository on bitbucket.

I want to be able to work on the code from either location. What I usually do is commit the changes at the end of the day.

Is there another way I should be doing this, as I end up with a lot of commits for code that I'm still working on that is still broken?

I thought the idea was that you are meant to only commit when the code is working. What is best practice so I can update the code in the repository without committing, and only commit when the code is working?

Egwin answered 23/11, 2014 at 23:37 Comment(3)
use branches, and work on the branch while is not done. than merge the branch.Elman
Additionally, you can squash all the commits in your branch down to 1 single commit before the merge if you want to create the illusion in the history of master that you only had 1 pristine commit that encapsulated an entire feature.Fagin
Disappointing to get downvoted for a question asked in good faith. Seems to be the norm for SO.Egwin
N
3

Before you start, create a separate (feature) branch and checkout to it. Now you can commit whatever you want, be it a broken code or just some experiment. You can also fetch your master branch (or dev etc.) and rebase on top of it (or dev etc.) to keep your branch up to date. As soon as you get the code to the final state, use interactive rebase* to clean up / squash / reorganize your commit history and merge with the main branch.

*You can also use git reset (with mixed mode) to the point where your feature branch branched off and create a brand new commit.

Noxious answered 23/11, 2014 at 23:46 Comment(0)
G
3

If you use Linux Terminal, you can use rsync command. The follow answer is copy from my other answer

Just Use rsync command. Make sure you are in your local repo root path, and run:

rsync -a --exclude=.git . [email protected]:[Your Remote Path]

You can fix your code in local, and rsync it. When the code can be deploy, then commit the deploy issue.

You can config your ssh remote alias in ~/.ssh/config file, google to know how to config it. Then your command will be:

rsync -a --exclude=.git . [remote-alias-name]:[Your Remote Path]

And needn't enter password.

Galloon answered 25/9, 2016 at 2:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.