13
Jan 12

Reset your last commit in git

So, you committed a change in your local repo and then realized you had the wrong branch? This happens to me a lot and the command I found the most useful for this purpose is:

git reset --soft HEAD^

git reset

Run the above 2 commands and you will have your uncommitted files back. After that you can switch to the right branch and commit them again.

 


29
Dec 11

Git branching model followed by us

We use the below branching model for our products JustUnfollow and GrabInbox . This is the article that made me use this branching model.

We have 2 parallel branches – ‘master’ and ‘develop’. All development occurs on the ‘develop’ branch. You can create new branches from the ‘develop’ branch and then merge them back to ‘develop’ once a feature is ready.

When it’s time to deploy a feature, we create a new ‘release-x.x’ (x.x = version) branch from the ‘develop’ branch. We can test this release branch, fix bugs and other small changes to make it ready for release. Once we are certain this branch is ready for release, we merge it with ‘develop’ and also ‘master’. We then tag this commit in master and deploy the ‘master’ to production.

Example git commands:

git checkout develop
git checkout -b release-0.1 develop
git checkout develop
git merge –no-ff release-0.1 develop
git checkout master
git merge –no-ff release-0.1 master
git tag “0.1″
git branch -d release-0.1

Now, if there are bug fixes that need to go into production quickly, we create a new ‘hotfix-x.x’ branch from ‘master’. After fixing the bug, we merge ‘hotfix-x.x’ to ‘master’ and also ‘develop’. We then tag this release in ‘master’ and deploy the ‘master’ to production.

Example git commands:

git checkout master
git checkout -b hotfix-0.1.1 master
git checkout develop
git merge –no-ff hotfix-0.1.1 develop
git checkout master
git merge –no-ff hotfix-0.1.1 master
git tag “0.1.1″
git branch -d hotfix-0.1.1


26
Jun 11

Reducing the size of List in Java

I had a List that had around 70000 objects in it and I needed only the first 15000. I was about to create a new empty array list and iterate 15000 times over the current one in order to get a smaller list. That would have been a mess.

I searched a bit and realized there was an easier (and I’m hoping it’s more efficient) way to reduce the size of a list.

//templist has 70000 objects in it

tempList.subList(15000 – 1, tempList.size()-1).clear();

//templist now has the first 15000 objects in it

//15000 – 1 because the positions start from 0