Skip to main content

Git merge from one repo to another repo



This blog is for those who are looking for merging code from one repo to another repo.

Why I will merge code from one repo to another?
I forked from one git repo(may be some public git repo) and did some cutomization on existing code. Occasionaly, features are being introduced in main git branch and I would like to get all those features in my own git repo. In this scenario, I would like to merge latest changes in my git repo.

Here are few simple steps which will merge code from one git repo to another-

1. Clone the repo1(source git repo)
> git clone https://github.com/org/repo1.git  
> git pull

2. Clone the repo2(destination git repo)
> git clone https://github.com/org/repo2.git
> git pull

3. Goto repo2 (destination git folder) and checkout your prefered branch
> cd repo2
> git checkout master> 

4. Use below command to see the remote branch associated with your destination git repo
> git remote -v 
origin https://github.com/org/repo2.git (fetch)
origin https://github.com/org/repo2.git (push)

5. Add source branch as upstream branch
> git remote add upstream https://github.com/org/repo2.git
> git remote -v  - to verify that new upstream repo is added
origin https://github.com/org/repo2.git (fetch)
origin https://github.com/org/repo2.git (push)
upstream https://github.com/org/repo2.git (fetch)
upstream https://github.com/org/repo2.git (push)

6. You can use git command to pull and push the latest changes from one repo to another

7. Remove upstream once your latest changes are merged
> git branch --unset-upstream

Happy coding! Please share in case you experience any issue.

Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. Step 5 should say repo1 on the first line --> git remote add upstream https://github.com/org/repo1.git

    ReplyDelete

Post a Comment

Popular posts from this blog

AJAX Progrraming

Ajax , shorthand for Asynchronous JavaScript and XML , is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is meant to increase the web page's interactivity, speed, and usability. The Ajax technique uses a combination of: XHTML (or HTML) and CSS, for marking up and styling information. The DOM accessed with a client-side scripting language, especially JavaScript and JScript, to dynamically display and interact with the information presented. The XMLHttpRequest object is used to exchange data asynchronously with the web server. In some Ajax frameworks and in certain situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server, and in other implementations, dynamically added tags may be used. ...

Nutch crawler and integration with Solr

Before moving ahead with this article, I assume you have Solr installed and running. If you would like to install Solr on windows, mac or via docker, please read Setup a Solr instance . There are several ways to install nutch which you can read from Nutch tutorial , however I have written this article for those who would like to install nutch using docker. I tried finding help on google but could not find any help for nutch installation using docker and spent good amount of time fixing issues specific to it. Therefore I have written this article to help and save time of other developers. Install nutch using docker- 1. Pull docker image of nutch using below command,      > docker pull apache/nutch 2. Once image is pulled, run the container,      > docker run -t -i -d --name nutchcontainer apache/nutch /bin/bash 3. You should be able to enter in the container and see bash prompt,      > bash-5.1#  Let's setup few important setting...

Could not load file or assembly 'Microsoft.Web.Infrastructure'

Could not load file or assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. What 'Micorosoft.Web.Infrastructure' does? This dll lets HTTP modules register at run time. Solution to above problem: Copy 'Micorosoft.Web.Infrastructure' dll in bin folder of your project and this problem should be resolved. If you have .Net framework installed on machine, this dll should be present on it. You can search for this dll and copy it in your active project folder.   Alternatively,  you can install this dll using nuget package manager PM> Install-Package Microsoft.Web.Infrastructure -Version 1.0.0 Happy coding!!