Using Repo and Githttp://source.android.com/download/using-repo 目录
1 About Git
1.1 Why Git?
1.2 Already a Git user?
2 Task reference
2.1 Installing Repo
2.2 Synchronizing your client
2.3 Why use topic branches?
2.4 Creating topic branches
2.5 Using topic branches
2.6 Viewing client status
2.7 Recovering sync conflicts
2.8 Cleaning up your client files
2.9 Deleting a client
2.10 Scripting common tasks
3 Repo command reference
3.1 init
3.2 sync
3.3 upload
3.4 diff
3.5 download
3.6 forall
3.7 help
3.8 prune
3.9 start
3.10 status
4 Git and Repo cheatsheet
5 Terminology
To work with the Android code, you will need to use both Git and Repo.
Git is an open-source version-control system designed to handle very large projects that are distributed over multiple repositories. In the context of Android, we use Git for local operations such as local branching, commits, diffs, and edits.
Repo is a tool that we built on top of Git. Repo helps us manage the many Git repositories, does the uploads to our revision control system, and automates parts of the Android development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of Android. The repo command is an executable Python script that you can put anywhere in your path.In working with the Android source files, you will use Repo for across-network operations. For example, with a single Repo command you can download files from multiple repositories into your local working directory.
About GitWhy Git?One of the challenges in setting up the Android project was figuring out how to best support the outside community--from the hobbiest community to large OEMs building mass-market consumer devices. We wanted components to be replaceable, and we wanted interesting components to be able to grow a life of their own outside of Android. We first chose a distributed revision control system, then further narrowed it down to Git. Already a Git user?In most situations, you can use Git instead of Repo, or mix Repo and Git commands to form complex commands. Using Repo for basic across-network operations will make your work much simpler, however. For more information about Git, see the list of resources on our Documentation page.Task referenceThe task list below shows a summary of how to do common Repo and Git tasks. For complete quick-start information and examples, see Get source.Installing Repo$ curl http://android.git.kernel.org/repo >~/bin/repo$ chmod a+x ~/bin/repo$ mkdir working-directory-name
$ cd working-directory-name
$ repo init -u git://android.git.kernel.org/platform/manifest.git
Synchronizing your clientTo synchronize the files for all available projects:
$ repo sync
To synchronize the files for selected projects:
$ repo sync project1 project2 ...
Why use topic branches?Start a topic branch in your local work environment whenever you begin a change, for example when you begin work on a bug or new feature.
A topic branch is not a copy of the original files; it is a pointer to a particular commit. This makes creating local branches and switching among them a light-weight operation. By using branches, you can isolate one aspect of your work from the others. For an interesting article about using topic branches, see Separating topic branches.