background preloader

Git for Computer Scientists

Git for Computer Scientists
Abstract Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph. Storage In simplified form, git object storage is "just" a DAG of objects, with a handful of different types of objects. They are all stored compressed and identified by an SHA-1 hash (that, incidentally, isn't the SHA-1 of the contents of the file they represent, but of their representation in git). blob: The simplest object, just a bunch of bytes. tree: Directories are represented by tree object. When a node points to another node in the DAG, it depends on the other node: it cannot exist without it. commit: A commit refers to a tree that represents the state of the files at the time of the commit. refs: References, or heads or branches, are like post-it notes slapped on a node in the DAG. git commit adds a node to the DAG and moves the post-it note for current branch to this new node. The HEAD ref is special in that it actually points to another ref. History

Related:  Git howtoCloud Computing

cygwin-apps - [ITP] VOTE: oodiff and git-oodiff Matthieu Moy has written two very useful programs to take diffs between two Open Office documents. Please vote to make them included in Cygwin. For more information, visit: Kinetic Open Storage Documentation Wiki - Kinetic - Kinetic Child pages Pages Kinetic Open Storage Documentation Wiki A successful Git branching model » In this post I present the development model that I’ve introduced for some of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now. I won’t talk about any of the projects’ details, merely about the branching strategy and release management. It focuses around Git as the tool for the versioning of all of our source code. (By the way, if you’re interested in Git, our company GitPrime provides some awesome realtime data analytics on software engineering performance.)

git(1) git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS] Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. The COMMAND is either a name of a Git command (see below) or an alias as defined in the configuration file (see git-config(1)). Formatted and hyperlinked version of the latest git documentation can be viewed at See the references above to get started using git. The following is probably more detail than necessary for a first-time user.

Continuous Deployment, Code Review and Pre-Tested Commits on Digg4 Welcome to Digg Digg delivers the most interesting and talked about stories on the Internet right now. The Internet is full of great stories, and Digg helps you find, read, and share the very best ones. It’s simple and it’s everywhere: visit Digg on the web, find it on your iPhone, or get the best of Digg delivered to your inbox with The Daily Digg.

Git Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Before starting, make sure that:

OpenFlow Description[edit] OpenFlow enables remote controllers to determine the path of network packets through the network of switches. At least two controllers are recommended — a primary, and a secondary as backup. This separation of the control from the forwarding allows for more sophisticated traffic management than is feasible using access control lists (ACLs) and routing protocols. Technical Jargon Last month I posted about hosting a git server under IIS by using GitAspx. While this is certainly one way to host a git server on windows, I wouldn’t recommend this in a production environment. An alternative (and somewhat more stable) approach is to use the native implementation of git-http-backend that ships with msysgit along with Apache. Step 1: Install Git

Fast Version Control System Documentation Reference Reference Manual The official and comprehensive man pages that are included in the Git package itself. Quick reference guides: GitHub Cheat Sheet (PDF) | Visual Git Cheat Sheet (SVG | PNG) Book

Related:  Git and GithubTo read