If I understand correctly, you're starting from
-- o -- o -- o [master]
\
o -- o [Farmcrops]
You shouldn't merge Farmcrops
directly into master
, because you run the risk of breaking the code in master
, which, by convention, is supposed to be more stable. Instead, check out Farmcrops
and merge master
into it.
git checkout Farmcrops
git merge master
Then you'll get
-- o -- o -- o [master]
\ \
o -- o -- o [HEAD -> Farmcrops]
Run some tests; make sure everything works as expected. Then check out master
and merge Farmcrops
into it:
git checkout master
git merge Farmcrops
Your repo will then look like this:
-- o -- o -- o
\ \
o -- o -- o [HEAD -> master,Farmcrops]
(Note that this merge is a fast forward: it doesn't create a merge commit because Farmcrops
is a direct descendant of master
.)
Now check out Farmcrops
again and continue your experiment, make more commits on it, etc...
-- o -- o -- o
\ \
o -- o -- o [master]
\
o -- o -- o [HEAD -> Farmcrops]
You can always fall back on master
(which now contains "the first round of changes", as you put it) if your new experiment on Farmcrops
doesn't pan out so well.