Working with Git and Visual Studio – Using git branching

In previous blog post in this series, we discussed about concept of git branching. We saw how and why it is easy to create a new branch in Git compared to other versioning tools. We also discussed concept of HEAD in more depth and how it is useful to keep track of current status. In this blog post, we are going to explore more on the branching concept.

View current branch in Git and Visual Studio

This can be viewed simply by running either ‘git branch’ or ‘git log’ command. If we run first command, the current branch is highlighted by an asterisk(*) just next to it. Similarly, if we run second command, it will be highlighted by position of HEADRead More »

Navigate Visual Studio Team Services Projects like a file system using PowerShell

Visual Studio Team Services or VSTS is a great tool for continuous integration and continuous deployment. It is a cloud based SaaS offering from Microsoft. So most of the time you would be navigating it using a web browser like google chrome, firefox or Edge. In this blog post, we will learn how to treat VSTS like a file system using PowerShell.


You must have PowerShell version 5 or later or PowerShell core installed on your operating system for this to work.
Read More »

Working with Git and Visual Studio -Understand concept of Git Branching

In previous post, we discussed on the commit variations. Basically, we discussed how to stage changes selectively or whole and then committing those changes. We also discussed how to amend previous commit as well and understanding its command line equivalent git commands. In this post, we are going to discuss about concept of branching in git and how it works.

Concept of Git branch and master branch

To understand about git branching, we need to revisit few concepts that we have already discussed in previous blog posts related to integration of git and visual studio. If you may remember correctly, Git does not exactly stores data as series of changesets or deltas, but instead as series of commits.
Read More »

Copy files to/from remote machine using PowerShell Remoting

It is easy to copy files from one network share to another. This can be done using either some kind of GUI tool or command line tool like PowerShell or robocopy. However you may not want to open SMB ports on a machine for obvious security reasons. More so is true of cloud hosted virtual machines.  In such a case, you can also copy files from your local machine to remote machine or vice versa using PowerShell remoting. In this blog post, we are going to discuss the steps to do the same.

Configure Remote machine for PowerShell Remoting

If you have PowerShell v3 installed on the remote machine, configuring it for PowerShell Remoting is easy. Just run below command on the administrative PowerShell window:
Read More »

Understanding Microsoft Build System – Making use of Properties

In previous blog post, we discussed about the concept of properties in MSBuild schema. We also saw few project files samples and about reserved properties. In this post, we are going to expand that knowledge by discussing how to use properties further.

Access Environment Variables

In some build configurations, when you build projects, it is often necessary to set build options using information that is not in the project file. This information is typically stored in environment variables. All environment variables are available to the MSBuild as properties. So we can simply access them in the same way we access properties i.e. by encapsulating their name in $(environmental_variable_name).
Read More »

Understanding Microsoft Build System – Properties

In one of the previous post, we discussed about the significance of MSBuild and how to download it. We have also seen the very basics of schema that is needed by MSBuild. In this blog post, we are going to expand on the same by discussing Properties.

Concept of Properties

When you build projects, you frequently compile the source code with different build options. For example, for development environment release, you generally create a build with debug configuration with symbols so that the developers can use it to help finding bugs. For production release, you generally create a build with no symbol information. You would also like to also enable optimizations if its possible. Read More »