background preloader

Git

Facebook Twitter

Mirror

Git-svn. Gitosis Git Hooks for Web Developers – Gitosis Git Hooks for Web Developers – Bocoup Web Log. Documenting How Patches Reach The Kernel. Patchwork - Web-based patch tracking system. Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.

Patches that have been sent to a mailing list are 'caught' by the system, and appear on a web page. Any comments posted that reference the patch are appended to the patch page too. The project's maintainer can then scan through the list of patches, marking each with a certain state, such as Accepted, Rejected or Under Review. Old patches can be sent to the archive or deleted. download The latest version of Patchwork is available with git. [jk@pingu ~]$ git clone Patchwork is distributed under the GNU General Public License. patchwork design patchwork should supplement mailing lists, not replace them Patchwork isn't intended to replace a community mailing list; that's why you can't comment on a patch in patchwork.

Don't pollute the project's changelogs with patchwork poop mailing list current setup. Solarnz/Tiamat-Xoom. Tegra2/tiamat-xoom - Tiamat Kernels for the Motorola Xoom 4G and WiFi-only. Linus Torvalds' Greatest Invention. (Git Is Awesome) Length: 60 minutes Description This talk is about Git, the greatest creation of Linus Torvalds, who is also sometimes known as the author of the Linux kernel.

Git is a revision control system with a number of innovative features. The talk does not explain how to use Git, but it does explain three of the innovative features, how they work, and why they are clever. The three features discussed are Git's use of SHA1 checksums as object identifiers, its nonlinear model of repository history, and its "index", which is a staging area between the working tree and the repository. Along the way the talk discusses a number of common but interesting use cases.

Table of contents tgz file of the entire talk If you liked these slides, you will enjoy Git from the bottom up, which is similar in focus, but with a lot more details. Return to: Universe of Discourse main page | Perl Paraphernalia | Other Classes and Talks. Setting up a new remote git repository. (a gist based on the old toolmantim article on setting up remote repos) To collaborate in a distributed development process you’ll need to push code to remotely accessible repositories. This is somewhat of a follow-up to the previous article setting up a new rails app with git. For the impatient Set up the new bare repo on the server: $ ssh myserver.com Welcome to myserver.com!

$ mkdir /var/git/myapp.git && cd /var/git/myapp.git $ git --bare init Initialized empty Git repository in /var/git/myapp.git $ exit Bye! Add the remote repository to your existing local git repo and push: $ cd ~/Sites/myapp $ git remote add origin user@myserver.com:/var/git/myapp.git $ git push origin master Set the local master branch to track the remote branch. Read further for a step-by-step explanation of what’s going on. Pre-flight sanity check Setting up a remote repository is fairly simple but somewhat confusing at first.

. $ cd ~/Sites/myapp $ git remote None. . $ git branch -a * master A pretty bare-minimum config file. Welcome to GitCasts. Git(1) Git [--version] [--help] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p|--paginate|--no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] <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. After you mastered the basic concepts, you can come back to this page to learn what commands git offers. You can learn more about individual git commands with "git help command". gitcli(7) manual page gives you an overview of the command line command syntax. Formatted and hyperlinked version of the latest git documentation can be viewed at We divide git into high level ("porcelain") commands and low level ("plumbing") commands.

We separate the porcelain commands into the main commands and some ancillary user utilities. git-add(1) gitk(1) Git Community Book. Setting up a cloned git repo. I was going to set up a clone of the xserver git repo in my people.freedesktop.org home directory and I figured I'd document the steps. If you want the cheat sheet just skip to the last couple of paragraphs. First of all, to set up a repo I need ssh access to people.freedesktop.org, but since I was going to put the repo in my home directory there, I already have that. Now, the official git repos are read only mounted on /git, so the obvious thing to do is to say krh@annarchy:~$ git clone --bare /git/xorg/xserver.git xserver.git Initialized empty Git repository in /home/krh/xserver.git/ ... krh@annarchy:~$ du -sh xserver.git/ 24M xserver.git/ Most of this space is in the objects representing the files, directories and commits of the project history.

Krh@annarchy:~$ du -sh /git/xorg/xserver.git/ 135M /git/xorg/xserver.git/ But given that both repos are on the same filesystem, we can ask git clone to share the underlying objects. Krh@annarchy:~$ touch xserver.git/git-daemon-export-ok. Tech Talk: Linus Torvalds on git. Git - SVN Crash Course. Welcome to the Git version control system! Here we will briefly introduce you to Git usage based on your current Subversion knowledge. You will need the latest Git installed; There is also a potentially useful tutorial in the Git documentation. This page is not maintained anymore! The up-to-date version of this tutorial is the GitSvnCrashCourse page at the Git wiki. The copy below might be better edited and nicer to read, but is likely to contain some advices and commands that may not match the current best practices anymore. How to Read Me In those small tables, at the left we always list the Git commands for the task, while at the right the corresponding Subversion commands you would use for the job are listed.

Before running any command the first time, it's recommended that you at least quickly skim through its manual page. Things You Should Know There are couple important concepts it is good to know when starting with Git. Repositories. Commiting That's it. Browsing Merging Going Remote. Git User's Manual (for version 1.5.3 or newer) This chapter covers internal details of the Git implementation which probably only Git developers need to understand.

A birds-eye view of Git’s source code It is not always easy for new developers to find their way through Git’s source code. This section gives you a little guidance to show where to start. A good place to start is with the contents of the initial commit, with: $ git checkout e83c5163 The initial revision lays the foundation for almost everything Git has today, but is small enough to read in one sitting. Note that terminology has changed since that revision. Also, we do not call it "cache" any more, but rather "index"; however, the file is still called cache.h. If you grasp the ideas in that initial commit, you should check out a more recent version and skim cache.h, object.h and commit.h. In the early days, Git (in the tradition of UNIX) was a bunch of programs which were extremely simple, and which you used in scripts, piping the output of one into another. Now, for the meat:

Tv's cobweb: 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.