@MartinJaffer-MSFT
Thanks for the help. However, while I'm indeed a bit lost here, I don't think my understanding is quite as skewed as you seem to think. Let's take a look at what you said:
The process of publishing also creates a new artifact in the form of ARM templates in the adf_publish branch.
Yes, I was already aware of that. As I tried to convey:
(1) The first time I created a pipeline (built from the collab branch), it produced the Arm Templates in my publish branch. And I was able to run Trigger Now.
(2) Then I cloned the pipeline while positioned in the collaboration branch. This clone seemed to publish as I recall (i.e. it seemed to add more files in the publish branch) but, in any case, I couldn't see the clone(s) in ADF when I selected the publish branch.
(3) Then I started over from scratch and re-built the pipeline (from the collaboration branch once again). This time it got even worse, as I explained above. (A) The publish branch got NO files, meaning NO Arm templates. (B) In ADF, that branch became greyed/unselectable.
"Publish" does not write things to the other branches of your repo.
Yes, I was already aware of that.
"Save" is used to write to the selected repo branch, whatever is currently loaded in your browser.
Yes, I was already aware of that.
The adf_publish branch is not used for development. It only stores the post-publish artefacts.
Yes, I was already aware of that. It stores the Arm Templates.
This branch will always be disabled. There is no reason to write to this branch.
I wasn't trying to write to it. I thought I was allowed to select it and then do a Trigger Now. I thought I already did so once before, but maybe my memory is serving me wrong (as it often does).
"Trigger Now" starts a pipeline run using the "Live Factory Mode". It does not use the repo definitions.
Ok, but pretty much the same thing, right? When I open the ADF window, where does it get the pipeline from, if not the repo definitions?
The collaboration branch (name is chosen when repo integration was made) is effectively the main or master branch. All other branches are effectively feature branches. Only the collaboration branch can publish. Your feature branch must be merged / pulled into the collaboration branch for your changes to show up after publishing.
Yes, I was already aware of that.
It is possible to do development directly on the collaboration branch. This is suitable only when there is a single developer doing 1 change at a time. In all other cases, creating and then merging feature branches is the way to go.
Yes, I was already aware of that.
To summarize, Publish doesn't seem to be working correctly for me.