Uncategorized

Quick intro to Git – Part III

In this article I am going to show you how to play with branches and merges.

Create branch

As shown in previous article, I was working on the master branch. GitHub gives you the flexibility to create branches and allows you to cherry pick your changes to be merged back to your main branch. So lets make a new branch:

On your repository, you will see a pull down button showing you the current branch as master. Click on it and type name for your new branch. I called this Feature1. Click on the blue bar that says ‘Create branch: Feature1’.

createnewbranch

Clicking this will create a new branch Feature1 from master. You will see all your files in your branch (I know i have one file only :)). Clicking on the same button should show a tick mark against ‘Feature1’, which means you are now in Feature1 branch.

currentbranch

Clone branch locally

What i am doing here is that the Feature1 branch code is being cloned into a new folder called TestRepoFeature1.

C:\work\amar\Code\TestRepo [master =]> git clone https://github.com/amarsingh19/
TestRepo.git -b Feature1 ../TestRepoFeature1
Cloning into '../TestRepoFeature1'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
C:\work\amar\Code\TestRepo [master =]> cd..
C:\work\amar\Code> cd TestRepoFeature1
C:\work\amar\Code\TestRepoFeature1 [Feature1 =]>

Make edits

Now I am going to make some changes to FirstFile.txt such that it looks like this:

This is first file.

Version 3

Branch: Feature1

Next lets do commit and push the changes.

git add FirstFile.txt

git commit -m "Feature1 first commit..."

git push -u origin Feature1

and voila! If you check your repository on GitHub Feature1 branch should get updated with your changes.

Merge Feature1 changes to master

To initiate the merge, you will have to submit a New pull request to the owner of the original repository. Pull request is something like you’re requesting the owner of the repository to review your changes and merge into the main branch. You can do so by clicking on the button highlighted:

pullrequest_button

Since I am the owner of the original repository, I see below screen

merge_step1

Click on the ‘Merge pull request’ button:

merge_step2

Click on the ‘Confirm merge’ button. At this stage you can delete this Feature1 branch.

merge_step3

Now lets check what happens to the main branch. Open FirstFile.txt and notice the contents have been merged from Feature1 branch.

master-updated

This completes one complete workflow of creating a repository, branching and merging the changes back to the main branch. I hope I was able to provide good information here.

 

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s