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 <tim@testit.works> 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 <akgrant0710@gmail.com> 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" <tim@testit.works> 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 <i.uhnak@gmail.com> 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 <i.uhnak@gmail.com> 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