Community Mailing List Questions or comments for the Git community can be sent to the mailing list by using the email address git@vger.kernel.org. Bug reports for git should be sent to this mailing list. You do not need to subscribe: you will be Cc'd in replies. By subscribing (click here), you can make sure you're not missing follow-up discussions and you can also learn about other development in the community. Windows-specific questions can also be sent to the Git for Windows mailing list (if in doubt whether your question is Windows-specific, just use the general Git mailing list). There is also Git user mailing list on Google Groups which is a nice place for beginners to ask about anything. Bug Reporting Bugs in git can be reported directly to the mailing list (see above for details). Bugs related to this website can be reported at its issue tracker. If you are new to submitting bugs, you might find this guide helpful for producing useful bug reports. Reporting Security Issues IRC Channel
Git smart: How we're using Git to track our source code What is Git? Git is a directory content tracker (i.e. it lets you keep track of the contacts of directories as they change over time). It was developed originally by Linus Torvalds (creator of Linux) in 2005. What do we use it for? Until a couple of weeks ago, we were using Subversion for keeping track of our source code. We’re now about a third of the way into converting everything to git (a surprisingly straightforward process, thanks to the git-svn utility). So git is our source code manager of preference these days. Why do we like it? Branching and merging in Subversion are painful. How can people learn more? Once you’re over the hump, though, it’s pretty amazing how easy it makes some tasks that are really hard in other systems.
Documentation Documentation Reference Reference Manual The official and comprehensive man pages that are included in the Git package itself. Quick reference guides: GitHub Cheat Sheet | Visual Git Cheat Sheet Book Pro Git The entire Pro Git book written by Scott Chacon and Ben Straub is available to read online for free. Videos See all videos → External Links The External Links section is a curated, ever-evolving collection of tutorials, books, videos, and other Git resources. Some thoughts on git « Paolo Capriotti As I mentioned in a previous post, we started using git for managing Tagua source code. There’s currently a lot of controversy in the topic of distributed versus centralized VCS’s, and I feel like expressing my own ideas, too. :) I’m no git guru (yet), so please don’t get offended if I missed something in my criticism. I hope to generate a fruitful discussion, because I really think that the VCS is an important element in the development of an open source project. Why git rules It’s decentralized. Why git sucks Well, git has a number of minor (?) It is written in (unreadable) C. That said, I have to admit that most of its defects aren’t that important if you are just going to use it, and not develop it. Like this: Like Loading... Tags: c++, distributed vcs, git, modularity, unix
Set up git At the heart of GitHub is an open source version control system (VCS) called Git. Git is responsible for everything GitHub-related that happens locally on your computer. To use Git on the command line, you'll need to download, install, and configure Git on your computer. If you want to work with Git locally, but don't want to use the command line, you can instead download and install the GitHub Desktop client. If you don't need to work with files locally, GitHub lets you complete many Git-related actions directly in the browser, including: Setting up Git Next steps: Authenticating with GitHub from Git When you connect to a GitHub repository from Git, you'll need to authenticate with GitHub using either HTTPS or SSH. Connecting over HTTPS (recommended) If you clone with HTTPS, you can cache your GitHub password in Git using a credential helper. Connecting over SSH If you clone with SSH, you must generate SSH keys on each computer you use to push or pull from GitHub. Celebrate
GitDocumentation - GitWiki From Git SCM Wiki Git Documentation Git glossary ( GitWiki version , HTML version , source via gitweb ) Git manual page - Online version bundled with Git. Git User's Manual - Online version bundled with Git A tutorial introduction to git and A tutorial introduction to git: part two - Online version bundled with Git Everyday Git, with 20 commands or so - Online version bundled with Git Git for CVS users - Online version bundled with Git Git SVN crash course (superseded by GitSvnCrashCourse ) Many Howto documents come with git as well Documentation/technical for all the technical information relating to Git TroubleShooting Documentation on this Wiki All documentation residing on this wiki is put in the Git QuickStart GitCheatSheet An overview of the RevisionSpecification used by the git log command and several repository visualizers. GraftPoint ; when and how to use them Introduction to git's IndexFile and WhatIsTheIndex BranchesInGit is an explanation about how Git understand branches Using Aliases Chinese
About - Git Branching and Merging The Git feature that really makes it stand apart from nearly every other SCM out there is its branching model. Git allows and encourages you to have multiple local branches that can be entirely independent of each other. The creation, merging, and deletion of those lines of development takes seconds. This means that you can do things like: Frictionless Context Switching. Notably, when you push to a remote repository, you do not have to push all of your branches. There are ways to accomplish some of this with other systems, but the work involved is much more difficult and error-prone. Small and Fast Git is fast. Git was built to work on the Linux kernel, meaning that it has had to effectively handle large repositories from day one. Benchmarks Let's see how common operations stack up against Subversion, a common centralized version control system that is similar to CVS or Perforce. For testing, large AWS instances were set up in the same availability zone. Distributed
QuickStart - GitWiki Setting up a Git project If you want to work with an existing project, clone it: $ git clone <url> If you do not have an existing git project, create one: $ cd project/ $ git init # initializes the repository $ git add . # add those 'unknown' files $ git commit # commit all changes, edit changelog entry $ git rm --cached <file>... # ridiculously complicated command to undo, in case you forgot .gitignore Git will look for a file named .gitignore in the root of your repository which contains a set of shell patterns to ignore in file paths. Branching and merging $ git checkout -b linux-work # create a new branch named "linux-work" $ <make changes> $ git commit -a $ git checkout master # go back to master branch $ git merge linux-work # merge changesets from linux-work (Git >= 1.5) $ git pull . linux-work # merge changesets from linux-work (all Git versions) Importing patches $ git apply < .. Exporting a patch Network support Inspecting revisions Referring to revisions Comparing revisions
Git Rails Moving To Git: How To Really Understand And Master Git — Djief’s Blog It appears that Rails will switch to git real soon. Nice! However, it means confusion for developers used to svn. You might find a few tips on this blog to help you get started, but right now I want to give you the secret to git mastery: You need to think in terms of how you want to modify your graph. From now on, before typing a git command in the shell, try to picture in your head how you want your repository to look after the command. git commit: I am creating a new node in my graph, linked to the current node. git branch branch_name: I am tagging a node with a name.git merge: I am creating a new node that will link two parents nodes, one for each branch I am merging (could be more than two).git fetch remote_repos: I am adding all the nodes from a distant repository to my graph.git push: I am sending all the nodes I created to a distant repository.git pull: I want to fetch all remote nodes AND merge. Once you think like this, “advanced” git stuff becomes trivial. Popularity: 28% [?]
2012-02-12 - (Feldt) Starting a PhD by raviii Nov 1