Both the community git manual:
http://book.git-scm.com/7_raw_git.html
and Pro Git book:
http://progit.org/book/ch9-2.html
walk you though low level details of creating objects and trees in git, and
then committing these new trees.
However, they do not show you how to add and commit into existing trees.
Speaking in terms of files, I have a web application that needs to replace
a file in a known directory in a known branch of a bare repository. I know the
SHA1s of the directory tree and file. I want to commit directly into a bare
repository to avoid having to manage working directories for different
branches from the web application.
Thanks!
David