So I’m still puzzled why what I have said is incorrect - tag on master, update your repository url to include that tag with “:tagname” and then users will get that stable version when they load your baseline (vs. Leaving it off and they get whatever you might have in progress on master. And sure - you might develop on a branch and get it all perfect first and then merge to master - but I still think it is good idea to tag the point you are happy with and then update your baselineOf again?)
Peter seems to be implying there is a different (better?) way to do this - and I’m wondering if I’m missing something obvious or whether we are all saying the same thing (me rather badly it seems) Tim > On 31 Jul 2017, at 10:18, Alistair Grant <[email protected]> wrote: > > Hi Tim, > > Perhaps a different way of phrasing it that might help is that tags are > global, not per branch. > > Checking out a commit, whether by id, tag, or Branch name implies the entire > tree. > > Cheers, > Alistair > > > On 31 Jul. 2017 11:09 am, "Tim Mackinnon" <[email protected]> wrote: > Hi Peter - I am confused now, I’ve always understood that git tags are used > to mark important points in history. From the Git online manual - " > Tagging > Like most VCSs, Git has the ability to tag specific points in history as > being important. Typically people use this functionality to mark release > points (v1.0, and so on). In this section, you’ll learn how to list the > available tags, how to create new tags, and what the different types of tags > are. > > “ > > So I’ve always understood that by putting a tag on a commit, I was getting a > snapshot of the whole graph at that point in time? Thus - by specifying the > “:tag name” on the baseline url, you were getting that version? > > Thinking a bit more, I guess if you want to to actually make some changes > from that tag point - you do need to create a -b branch from it (otherwise > you have a detached head right?) - is this what you are getting at? > > Or is there a more obvious thing I am missing that lets you point to a > particular version in GIT? I appreciate your insight into this, as I think we > all need to learn how to do this properly. > > Tim > >> On 31 Jul 2017, at 08:17, Peter Uhnak <[email protected] >> <mailto:[email protected]>> wrote: >> >> Nono, I don't think you fully understand git's versioning. >> >> To oversimplify: git's history is composed of commits and parental >> relationships between them. Nothing more, nothing less; it is just a >> directed acyclic graph. >> >> On top of this graph structure you have additional stuff like branches, >> which are just labels atteched to the commits, and also tags, which are also >> just labels. >> >> So when you tag a commit, it doesn't really matter what branch it was on, >> you've simply said that tag 1.0 points to a particular commit XXXXXX in the >> history; that commit could belong to master branch, or development branch, >> or any other branch (or no named branch at all, also known as detached head). >> >> In another words, your tag points to a commit only, and branches do not play >> any role in this whatsoever. >> >> Am I being clear? (I'm sipping my morning coffee so my brain is not fully >> operational yet ;) ) >> >> Peter >> >> >> On Sun, Jul 30, 2017 at 05:28:44PM +0200, Tim Mackinnon wrote: >>> Peter - I meant it as a figurative example - on a master branch you can tag >>> whenever you want right? And so you can point users to a specific tag on >>> master so they have a stable point to load from (possibly while you merge a >>> branch back to master and then update any documentation or config before >>> retagging and updating a BaselineOf? >>> >>> This looks like what the AWS Smalltalk git repo has used as an example. >>> >>> Tim >>> >>> (Ps >>> Apologies for the "rage" iOS autocorrect - apparently that's what Apple >>> thinks tags is corrected to ;) >>> >>> Sent from my iPhone >>> >>> >>> >>> Sent from my iPhone >>> On 30 Jul 2017, at 16:35, Peter Uhnak <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>>>> >>>>> If I've understood correctly, this means you can rage master with a >>>>> version number like v1.1 and then put that in the URL >>>>> >>>>>> https://github.com/peteruhnak/IconFactory/tree/master:v1.1/ >>>>>> <https://github.com/peteruhnak/IconFactory/tree/master:v1.1/> >>>> >>>> I am not sure where you got this url from, but combining branch and tag >>>> name makes nor sense... that's like you wanted a version 1.1 AND 2.3 (or >>>> whatever would be the latest in master). >>>> >>>> (as mentioned in the syntax: branch name OR commit id OR tag id) >>>> >>>> Peter >>>> >>> >>> >> > >
