Some important Git commands for branching with remotes and upstream projects
First create a fork from an existing repository on wso2 repo
Then create a cloned repository in your local machine from that forked repo. Replace the URL with your own repo URL.
git clone https://github.com/chanakaudaya/carbon-mediation.git
Now add upstream repositories for your local clones repository.This should be the upstream project which you have forked from.
git remote add upstream https://github.com/wso2/carbon-mediation.git
You can remove an upstream if you needed.
git remote rm upstream
Now you can see all the available branches in your git metadata repository. Here you need to keep in mind that only metadata available for all the branches except the master (which is the local branch created by default)
git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/release-2.1.3-wso2v1
remotes/origin/release-2.1.3-wso2v2
remotes/upstream/master
remotes/upstream/release-2.1.3-wso2v1
remotes/upstream/release-2.1.3-wso2v2
If you cannot see the upstream branches list from the above command, just fetch them with the following command.
git fetch upstream
Now you should see the branched list as above.
This will list down all the available branches. Then decide on which branch you are going to work on. Let’s say you are going to work on release-2.1.3-wso2v2 branch. Now you should create a tracking branch in your local repository for that branch.
git checkout --track origin/release-2.1.3-wso2v2
Here we are creating a tracking local branch to track the origin (your forked repository, not the upstream). Now if you look at the branch list, you can see the newly created branch.
git branch -a
master
* release-2.1.3-wso2v2
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/release-2.1.3-wso2v1
remotes/origin/release-2.1.3-wso2v2
remotes/upstream/master
remotes/upstream/release-2.1.3-wso2v1
remotes/upstream/release-2.1.3-wso2v2
Now you need to see what is the link between your remote branches and local branches. You can do that with the following command.
git remote show origin
This will give you the information about the connection between your local and remote branches.
* remote origin
Fetch URL: https://github.com/chanakaudaya/wso2-synapse.git
Push URL: https://github.com/chanakaudaya/wso2-synapse.git
HEAD branch: master
Remote branches:
master tracked
release-2.1.3-wso2v1 tracked
release-2.1.3-wso2v2 tracked
Local branches configured for 'git pull':
master merges with remote master
release-2.1.3-wso2v2 merges with remote release-2.1.3-wso2v2
Local refs configured for 'git push':
master pushes to master (up to date)
release-2.1.3-wso2v2 pushes to release-2.1.3-wso2v2 (up to date)
Beginners Lab Assignments Code Examples
ReplyDelete