When doing a merge, you may run into one or more conflicts. Now what if we are not quite ready to handle this conflict yet. Perhaps you have several conflicts and you don't have enough time to spend on resolving these conflicts. In situations like this we can easily go back to the state before we started the merge.To abort the merge, we can use the following command$ git merge --abortNote that if we execute this command after resolving some conflicts and staging the changes, then these changes would not be saved. Once the command is fired, we are back ... Read More
In real world, when we merge branches, we will run into conflicts quite often. Conflict happens because of the following reasons −When the same line of code is changed in different ways in two branches.A given file is changed in one branch but deleted in another branch.Same file is added twice in two different branches but the content of the file is different.In these cases, git will stop the merge process as it cannot figure out how to merge the changes. In such scenarios we need to intervene manually and instruct how to proceed with the merging process.The diagram given ... Read More
When we have multiple branches in a git repository, we would need to bring the changes from all the branches to the main line of work that is the master branch. So, if we are currently in master branch and need to see which branches need to be merged, we can use the following commands.$git branch --no-mergedWe would also need to verify which branches are already merged, so that we can delete the unused branches$git branch --mergedExampleLet us create an example to understand how to view the branches that are merged and unmerged. The following diagram shows that there are ... Read More
Fast forward merges can be disabled −At the time of mergingFor the entire repositoryFor all repositories.Disabling fast forward merges has both pros and cons.When we disable fast forward merge, git will perform a merge commit to merge the changes from both the branches. The drawback of merge commit is that it becomes hard to read and understand the commit history, especially when we have many branches. If your team prefers to keep a linear history of branches, then one should go for fast forward merge. Disabling fast forward merge will create merge commits, which pollutes the commit history.The benefits of ... Read More
Let us look at an example of a 3-way merge. In this example, the Feature branch is two commits ahead of the Master branch.Diagram 1Before we merge it with Master, let us say we have added an additional commit to the Master as shown in the below diagram.Diagram 2Due to the commit performed on the Master branch, both our branches Master and Feature are now diverged.This means we have some changes in the Master branch that is not present in the Feature branch. If we perform a merge in this case, Git cannot move the master pointer towards the Feature ... Read More
Fast forward merge can be performed when there is a direct linear path from the source branch to the target branch. In fast-forward merge, git simply moves the source branch pointer to the target branch pointer without creating an extra merge commit.Let us look at an example implementing fast-forward merge.We have a master branch with 3 commits.Next, we create a branch called feature branch. In git a branch is nothing but a pointer to a commit. At this point both feature and master are pointing to the same commit.Now let us switch to the feature branch and do a couple ... Read More
A branch in git is a series of interrelated commits. If two branches follow a non-linear path then they diverge each other. The diagram shows two diverged branches master and feature.Consider the above diagram. Let us assume that both the branches were following a linear path before the initial commit. After the initial commit, the branch master has an independent commit c1 and the branch feature has its own commit c2. As the branches now follow a non-linear path, we can say that both the branches are diverged. Let us see this through an exampleStep 1 − Create an empty ... Read More
The diagram shows a file named File1.txt within the git repository. A, B, C and D represent lines that are added to the file. The diagram indicates that a commit is performed after adding each line A, B and C. c1 is the commit performed after adding line A, c2 is the commit after adding line B and C3 represents the commit after adding line C. Now add line D. This change is available in the working directory and this change is staged but yet to be committed.Now if we perform a hard reset to move the HEAD pointer of ... Read More
In this article, we will create a simple user sign-up form having some parameters. On clicking SAVE, all the user details will be saved in the MongoDB database.InstallationBefore proceeding to create the sign-up form, the following dependencies must be succesfully installed on your system.Check and install express by using the following command. Express is used to set middlewares to respond to HTTP requestsnpm install express --saveSetup the "body-parser" node module for reading the HTTP POST data.npm install body-parser --saveSetup "mongoose", as it sits on top of Node's MongoDB driver.npm install mongoose --saveExample 1Create the following files and copy paste the ... Read More
ReactJS and NodeJS both are a widely used subsets of JavaScript nowadays with high performance. But both are different in someways. In the below article, we will discuss the difference between the two and which is better to use to build a web application and why ?NodeJSIt is a completely open-source and cross-platform runtime environment used for executing JavaScript code outside of a browser.The event driven model of NodeJs lets the user to create a fast and scalable network applications. First thing to remember about NodeJS is that its neither a framework and nor a programming language. NodeJS is a ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP