git branching experimental

2019-08-03 05:03发布

问题:

Well I've been working for a project. today I was experimenting with windows specific wchar and I needed to do change a lot of code since morning and I ended up with an ugly mess. That I can clear out latter but right now I need to do some mainstream works on last working commit. But I don't want to loose this work. So how can I keep this work in some branch for future and revert my workspace back to last commit ?

回答1:

You can create a new branch and commit your changes to it:

git checkout -b topic/ugly-mess
git commit -a -m 'Checkpointing mess.'

Then go back to your mainstream branch which has the last working commit:

git checkout master

If you want your to publish your "local mess" upstream, push the branch:

git push origin topic/ugly-mess


回答2:

Simply create a new branch

git branch -b wchar_migration

and commit your changes into it

git commit -am "wchar ..."

then go back to your work

git checkout master

If later you want to include the modification you made on master, simply rebase on it.

git co wchar_migration
git rebase master


回答3:

You probably don't even need a branch. If you use git stash, git stashes (stores) the current 'dirty' workspace and returns you to a clean workspace. You can apply the stashed changes later if you want.



回答4:

So long as you haven't committed any of this work, you can always git stash your experiment.

But you've described this as experimental so another option, and probably the better one, is to keep this work in it's own branch, e.g. git checkout -b wcharExperiment, commit the work into this new branch, then checkout your main branch.



标签: c++ git branch