Note: This is a series of articles related to Source Control. If you have read my other articles in this series, you may skip the top general part and jump to INTRODUCTION for the specific topic of this article.
This is a series of articles related to Source Control or Version Control issues, from a stand-alone app, such as MS SourceSafe, to a Server app, such as MS TFS (Team Foundation Server), to web services such as GitHub, AWS, and MS Azure DevOps. We have tried to categorize this series of articles as Source Control or Version Control, but this site does not have these categories. So, we put the articles in the DevOps category, as explained in the Wiki:
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.[1] DevOps is complementary to Agile software development; several DevOps aspects came from the Agile methodology.
The structure of this article series will cover:
- Stand Alone App:
- Server App
- MS TFS (Team Foundation Server)
- Online (Cloud) Centralized Service:
- MS Azure: DevOps
- Boards
- Repos
- Pipelines
- Test Plans
- Artifacts
- GitHub
- AWS GitHub Enterprise
- Distributed App:
Because these are huge topics, I will not go step by step. Instead, each section will be relatively independent and will become a reading unit.
- Source Control (1), MS Source Safe --- Stand Alone App
- Source Control (2), MS TFS --- Centralized Server App
- Source Control (3), MS Azure DevOps (GitHub, Jira) --- Centralized Service
- Source Control (4), Git --- Distributed App
- Source Control (4-1), Git --- Configuration
- Source Control (4-2), Git --- Configured to Connect to DevOps and GitHub
- Source Control (4-3), Git --- Cherry Pick in Visual Studio
- Source Control (4-4), Git --- Recover Git Tree: Reflog/Reset
- Source Control (4-5), Git --- Recover Deleted Branch
- Source Control (4-6), Git --- Revert
- Source Control (4.7), Git --- Get Specific Version or Commit
- Source Control (4.8), Git --- Get Specific Version or Commit in practice
- Source Control (4.9), Git --- Merge: Fetch, Pull, Push and Sync
- Source Control (5), GitHub access (setup connection)
- Source Control (6), DevOps access (setup connection)
- Source Control (7), GitLab access (setup connection and Clone to Local)
- Source Control (8), Git, Azure Repos, and Visual Studio (Interaction)
- Source Control (9), Push into Git Hub and DevOps
- Source Control (10), Git Hub, DevOps Publish
A - Introduction
In the previous article, Source Control (5), GitHub access (setup connection), we discuss the access for GitHub (and Enterprise). We mentioned:
In certain situations, when we click Connect => Manage Connections, we cannot see the Connect to GitHub, probably by settings, like this:
instead, we have this, without "Connect to GitHub":
For this situatioin, we have an Alternative Way to Create a New Repository in GitHub.
In this article, I will indicate, the difference in the two situations are not by settings, it is due to installing GitHub Extersion for Visual Studio or not, while as what I knew, it seems the GitHub Extension for Visual Studio is only for VS 2019 and before (till 2015), but not for VS 2022. Therefore, in VS 2022, some useful features are missing. The content of the article:
- A - Introduction
- B - Installations
- C - Visual Studio 2022 missing the GitHub Extension
- D - Differences with GitHub Extenstion or without
B - Installations
GitHub Extenstion for Visual Studio can be installed through Visual Studio Menu => Extension => Manage Extensions:
But, for myself, it seems I have never installed that in this way. Most likely, we installed it through the Visual Studio Installation, by choosing it like this for VS 2019:
while for VS 2022, it does not have this option in both Visual Studio Extensions:
and installation:
C - Visual Studio 2022 missing the GitHub Extension
If we check GitHub Extension for Visual Studio - Visual Studio Marketplace, we may see that
i.e., the GitHub Extenstion has been used since Visual Studio 2015, till 2019, but not available for Visual Studio 2022 any more, as it claimed, the functionality has been included in VS 2022. Actually, not. Search online, we did not see any info about this feature discussion, the only one discussion is below, from VS2022 GitHub in Team Explorer - Developer Community:
i.e., this feature is missing, at least till the time, I am writing this article.
Note:
I assume it is a missing feature by VS 2022, but it is possible it is missing feature by myself, if the later case, anybody can indicate my fault. On the other hand, due to Microsoft introducing a new feature in VS 2022: Multy-Repos. A posibility is that these two features are conflict to each other. I have not played on Multy-Repos, will discuss later.
D - Differences with GitHub Extenstion or without
Difference 1:
As we indicated in Introduction, when we Click Connect => Manage Connections:
in VS 2019 with GitHub Extersion for Visual Studio, we can see:
while VS 2022 without GitHub Extersion for Visual Studio, it will be like this:
The fix for this missing, we have discussed in Source Control (5-1), Create a Git Hub Repository from Visual Studio.
Note:
Some one suggested, after clicking Connect to a Project ... in VS 2022, we can open both DevOps and GitHub from the opened window
but, I have never got this above, what I got is
Difference 2:
When we Click Connect => Manage Connections:
in VS 2019 with GitHub Extersion for Visual Studio, we can see the lists of both DevOps applications and GitHub Applications they have been opened in this Visual Studio environment previously:
in VS 2022 without GitHub Extersion for Visual Studio, we can only see the list of DevOps applications, but no GitHub Applications:
In the above two cases, the opened application is a GitHub application, while the below, the opened application is a DevOps application, the results are the same:
in VS 2019 with GitHub Extersion for Visual Studio, we can see the lists of both DevOps applications and GitHub Applications they have been opened in this Visual Studio environment previously:
in VS 2022 without GitHub Extersion for Visual Studio, we can only see the list of DevOps applications, but no GitHub Applications:
The benefit for 2019 with GitHub Extension is that we can switch the application between different servers, say, between DevOps and GitHub, very easily by Clicking the related app, without need to reopen a Visual Studio instance or open another project from other places.
Difference 3:
In VS 2019 with GitHub Extersion for Visual Studio, we can open from GitHub easily by File => Open => Open from GitHub
while VS 2022 without GitHub Extersion for Visual Studio does not have this feature:
in VS 2019 with GitHub Extension, after Clicking Open from GitHub, a GitHub login page will be shown:
after login:
Choosing the project you want to open or clone:
Open or Clone GitHub app:
References: