I found this useful to clarify my understanding of git... https://git-scm.com/book/en/v1/Git-Internals
cheers -ben On Mon, Jul 31, 2017 at 5:31 PM, Tim Mackinnon <[email protected]> wrote: > 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]> 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]> 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/ > > > 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 > > > > > > > >
