Git Repository Deleted File Recovery Method

Sometimes you want to recover a file you deleted from a git repository.
Sometimes you want to recover a file somebody else deleted from a git repository.

Recovering a deleted file from the git repository, after a commit, is not complicated if you know the right commands and method for doing so. This quick tutorial walks you this the recovery processes. The process takes 3 steps: Read the rest of this entry »



December 19th, 2012 at 3:54 am

You can also put the name of the folder to be igorned into the exclude’ file in .git/info’.That way, you have all your ignores in one central place and don’t have to commit that change.

Comment Form

The git rm command will allows you to remote a file from git control. The –cached option to git remove allows you to leave it on your hard drive.

Every once in awhile a file gets checked into git that isn’t supposed to be there. Common examples are configuration files, project files generated by your IDE with personal settings and even the occasional object file that someone decided to check in. These files are needed, so often you can’t delete them entirely and the process of copying them somewhere else, removing them from git and then replacing is painful, not to mention prone to error. Read the rest of this entry »

Comment Form

Tobias on the Fournova blog presents a good summary of why to switch to Git in his article 8 Reasons for Switching to Git.

The overall theme of why you should switch to Git is reduced time managing your code base, increased time for coding. This comes in many forms, everything from the speed of Git to the ability to the ease of rollback of commits. Git automates many of the tasks that you need to do while managing your code, saving you time. Read the rest of this entry »



September 11th, 2012 at 3:55 am

It’s great to see more WP devs using git primarily. It means the day moves to git is conimg closer. My deployment script is a bit different, as it takes designed only for releases so takes care of all deployment related tasks (tagging) and it doesn’t require a local SVN repo. You can find an example of it here:



September 11th, 2012 at 2:39 pm

Conrad, this is great! I’ve been getting into git a lot laelty myself and I love how I can have a faster workflow with git by having part of the IDE.Big question though is there a way to do a push origin master from inside Flash Builder? I know I can do commits and pushes, but I want to update the remote repository and it kinda sucks I have to go back to the terminal window to do it.Maybe you’ve figured out how to do this within Flash Builder as well?Keep up the good work!

Comment Form

According to Forester Analyst Jeffrey Hammond, git adoption has grown from 2% to 13% in the three years between 2009 and 2011. According to the Forester survey, Eclipse’s adoption of Git as a supported alternative to Subversion is due to this growth.

The Ruby community is also adopting git as well according to Hammond. IDC Analyst Al Hilwa also reported a git growth spurt. He said “of late, it sure appears that Git is being used more than its competitors for open source projects.” Hilwa said he sees many developers under 24 using Git.

Linus Torvalds stated that once a developer gets used to the capabilities of the distributed model of Git, they will never go back to the centralized model of other source control management systems.

Read more on Git Adoption on InfoWorld’s Developer World: Torvald’s Git: The ‘it’ technology for software version control.



September 11th, 2012 at 11:51 pm

I’m sure a few years ago people said “SVN isn’t bteter than CVS, it’s just different”.You must have never used CVS, no one ever made a claim like this.Implicit your post is that not being able to modify tags is a good thing, which I suspect probably falls inline with what many people would expect. I wonder if the devs had a particular use case in mind when that decision was made.

Comment Form

In response to people asking who offers Git Commercial services, we have added a new page: Git Resources lists companies that provide professional Git services. If you know of others, drop us a line.

Comment Form Git Version Control Educational Site Receives Funding

Akiri Solutions, Inc.  announces funding for, an educational and informational site that covers the ins and outs of using the Git version control system.

Git is built differently from the ground up and is a big improvement over legacy version control systems (VCSs). Although it is very popular due to its improvements over legacy version control systems, it is viewed as difficult to learn. helps new users get over the initial learning curve and productive quickly. Read the rest of this entry »



September 11th, 2012 at 1:53 am

Helpful, but$ curl | git amfatal: Not a git roeositpry (or any of the parent directories): .git % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 17019 100 17019 0 0 25569 0 : : : : : : 36210curl: (23) Failed writing body (0 != 1189)$Not quite.

Comment Form

What is Git?

Git is an open source distributed version control system (VCS) and source code management (SCM), designed and developed by Linus Torvalds with the main design goal being an emphasis on speed.

We’re making the GitGuys site available with the aim of making the git version control system easier to learn. You will benefit from our years of experience using and showing others how to use git. We (Akiri Solutions)  have implemented git for many of our clients to ease their source code management. Read the rest of this entry »



August 31st, 2011 at 1:56 pm

Just wanted to tell you how much I appreciate your Git documentation
and tutorials on your site. A great job in explaining the Git
philosophy (or The Way of Git). It was not until I went through all
your topics under did i first (and
finally!) grok Git.

Thank you so much and keep up the great work.



Misha Moroshko

October 25th, 2011 at 5:09 am

I must say that GitGuys is the best Git tutorial I’ve ever seen.
You explain Git so good…
Thanks a lot, and keep doing a great work!


Steven Shaw

August 16th, 2012 at 2:56 am

Thanks guys! This is a great place to brush up on the details of Git.



August 29th, 2012 at 1:55 am

Nice work! i like this web site,and am glad to introduce it to my friends!



September 11th, 2012 at 10:02 am

Although this approach works fine, it does mean that your web pages needs a git roipsotery embedded within it.a0 A better approach, and one Ia0use now is to use rsync to copy (and synchorise) the files at the remote end.Here is an example, which detects a git merge, or a commit in one of two branches (site and test)a0which then rsyncs via ssh (to site mb) into the web locations for the production and test sites respectively.#!/bin/sh## Output a version file that we can include at the bottom of the pagebranch=$(git branch | sed -n s/^\*\ //p)cd “$(git rev-parse –show-cdup)”if [ "$branch" == "site" ]; then git clean -f rsync -axq –delete –exclude=scripts/calendar –exclude=htaccess –exclude=.git –exclude=test ./ mb:public_html/static/fiif [ "$branch" == "test" ]; then git clean -f rsync -axq –delete –exclude=scripts/calendar –exclude=htaccess –exclude=.git ./ mb:public_html/static/test/static/fi



November 18th, 2012 at 10:02 am

Why is the object storage not isolated from rest of git?
Git is written in plain old C – i was shocked to see many global variables, huge functions…
It’s a big ball of mud.

This code might work, but it is ugly; it’s the opposite of clean code.
Please if anyone of the git maintainers reads this; refactor the git object storage!
It should have a well defined API like a library.

Comment Form