<div dir="ltr">Hi Tobias,<div><br></div><div>On Wed, Mar 22, 2017 at 3:16 PM, Tobias Pape <span dir="ltr"><<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>></span> wrote:<br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
> On 22.03.2017, at 23:04, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
><br>
> Hi Tobias,<br>
><br>
> On Wed, Mar 22, 2017 at 2:54 PM, Tobias Pape <<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>> wrote:<br>
><br>
><br>
> > On 22.03.2017, at 22:36, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
> ><br>
> ><br>
> ><br>
> > On Wed, Mar 22, 2017 at 2:34 PM, Tobias Pape <<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>> wrote:<br>
> ><br>
> ><br>
> > > On 22.03.2017, at 22:33, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
> > ><br>
> > > Hi Stefan,<br>
> > ><br>
> > > On Wed, Mar 22, 2017 at 2:10 PM, Stefan Marr <<a href="mailto:smalltalk@stefan-marr.de">smalltalk@stefan-marr.de</a>> wrote:<br>
> > ><br>
> > > Hi Eliot:<br>
> > ><br>
> > >> On 22 Mar 2017, at 21:47, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
> > >><br>
> > >> I don't understand how to see a branch's changes.<br>
> > >><br>
> > >> I updated a clone of opensmalltalk-vm and switched to John's JMM/SleepTime branch:<br>
> > >><br>
> > >> McStalker.oscogvm.clean$ git pull -a<br>
> > >> Already up-to-date.<br>
> > >> McStalker.oscogvm.clean$ git checkout -b JMM/SleepTime<br>
> > ><br>
> > > This looks wrong.<br>
> > > That’s just creating a fresh branch, no?<br>
> > ><br>
> > > You’ll probably need some variant of: git checkout -b JMM/SleepTime origin/JMM/SleepTime<br>
> > ><br>
> > > `git log` should then also be a better way to check whether you’re on the branch you expect.<br>
> > ><br>
> > > So now I'm in this state:<br>
> > ><br>
> > > McStalker.oscogvm.clean$ git status<br>
> > > On branch Cog<br>
> > > Your branch is up-to-date with 'origin/Cog'.<br>
> > > nothing to commit, working tree clean<br>
> > ><br>
> > > What do I type to get to John's changes?<br>
> ><br>
> > git diff  JMM/SleepTime<br>
> ><br>
> > What do I type to see John's changes materialised in the relevant files in my repository?  I don't want to copy/paste his changes :-/<br>
><br>
> I don't get it right away.<br>
> Do you want Johns changes applied to your branch?<br>
><br>
>         git merge JMM/SleepTime<br>
><br>
> (Or if you don't want to commit right away:<br>
><br>
>         git merge --no-commit JMM/SleepTime<br>
><br>
> Do you want to see the general commit information of John's commit?<br>
><br>
>         git log ..JMM/SleepTime<br>
><br>
> Do you want to see the difference between Cog and JMM/SleepTime ?<br>
><br>
>         git diff JMM/SleepTime # if you are on 'Cog' and previously did 'git checkout JMM/SleepTime'<br>
>         git diff Cog..origin/JMM/SleepTime # otherwise<br>
><br>
> I want tio checkout the latest committed version of John's branch without merging.  Preferably I want to be able to do that from a dirty state on another branch such that IU can switch back to that dirty state.<br>
<br>
</div></div>$ git status<br>
# shows some Ms<br>
$ git stash<br>
# put away changed things<br>
$ git status<br>
# shows no Ms<br>
$ git checkout JMM/SleepTime<br>
# should be equivalent to 'git checkout -b JMM/SleepTime origin/JMM/SleepTime'<br>
# you are now on Johns branch. What is the difference to cog?<br>
$ git diff Cog<br>
# what are the latest changes on this branch briefly?<br>
$ git log<br>
# ok, I'm done, back to Cog<br>
$ git checkout Cog<br>
# Maybe merge John's code<br>
$ git merge JMM/SleepTime<br>
# creates commit<br>
# get back the put away things<br>
$ git stash pop<br>
<br>
Best regards<br>
<span class="gmail-HOEnZb"><font color="#888888">        -Tobias<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5"><br></div></div></blockquote><div><br></div><div>   thank you.  Fab.  This is what I want (& it works).  Now one more thing...</div><div>How do I cherry-pick?  Can I merge only certain changes from a branch?  Or do I have to merge and revert/checkout the changes I don't want?</div><div><br></div><div>e.g. is something like this possible?</div><div><br></div><div class="gmail_extra">git merge JMM/SleepTime:platforms/iOS/vm/OSX/{SqueakOSXAppDelegate.m,sqSqueakOSXApplication.m}<br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
<br>
><br>
><br>
> Best regards<br>
>         -Tobias<br>
><br>
> ><br>
> ><br>
> > ?<br>
> > ><br>
> > ><br>
> > > Best regards<br>
> > > Stefan<br>
> > ><br>
> > ><br>
> > > --<br>
> > > Stefan Marr<br>
> > > Johannes Kepler Universität Linz<br>
> > > <a href="http://stefan-marr.de/research/" rel="noreferrer" target="_blank">http://stefan-marr.de/<wbr>research/</a><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > > --<br>
> > > _,,,^..^,,,_<br>
> > > best, Eliot<br>
> ><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > _,,,^..^,,,_<br>
> > best, Eliot<br>
><br>
><br>
><br>
><br>
> --<br>
> _,,,^..^,,,_<br>
> best, Eliot<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>