Git is Linux Torvalds to help manage Linux
An open source distributed version control software developed by the kernel is different from a centralized version control system such as subversion and CVS. There is only one warehouse in the centralized version control system.
Library (repository), multiple working directories (Working
Copy), while in a distributed version control system such as git (other major distributed version control systems include bitkeeper, mercurial, GNU
Arch, bazaar, darcs, SVK, monotone, etc.), each working directory contains a complete repository, which supports offline work, local submission can be submitted
Server. In theory, distributed systems are more robust than centralized single-server systems. Once a single-server system encounters a server problem, the entire system cannot run. distributed systems generally do not have one or two nodes.
Affected.
Because Android is composed of multiple git projects such as kernel, Dalvik, bionic, prebuilt, and build, the android project has compiled a Python script named repo to manage the repositories of these projects in a unified manner, this makes git easier to use.
In order to get the latest sourcecode of Android, William Learned some basic operations of git and repo, sorted out how-to for how to get the android code, and pasted it today.
1. Install git
Download the latest gitsource code package from http://git-scm.com/and decompress:
# Tar-xjf git-1.6.3.3.tar.bz2
Compile and install:
# Cd git-1.6.3.3
#./Configure
# Make; make install
# Git -- version
Git version 1.6.3.3
2. Install Repo
First, make sure to create a/bin directory under the current user's home directory (if not), and then put it (~ /Bin) added to the PATH environment variable
Download the repo script through curl and save it ~ /Bin/repo File
Curl http://android.git.kernel.org/repo> ~ /Bin/Repo
Do not forget to grant repo executable permissions
Chmod A + x ~ /Bin/Repo
3. initialize the version Library
If you want to take down all the sourcecodes in the latest version of the current Android main line, we need repo help.
First create a directory, such ~ /Android. Use the repo init command after entering the file.
Repo init-u git: // android.git.kernel.org/platform/manifest.git
This process will last for a long time (at least you can have a good sleep). The specific time depends on the network conditions.
The repo initialized in
/Android indicates that the local version library has been initialized and contains the latest sourcecode.
If you want to use a branch instead of the Code on the main line, you need to use the-B parameter to specify the branch name, for example:
Repo init-u git: // android.git.kernel.org/platform/manifest.git-B
Cupcake
In another case, we only need the code of a project, such as kernel/common, without Repo. Just use git.
Git clone git: // android.git.kernel.org/kernel/common.git
This also takes a lot of time, because it will copy the entire Linux kernel code.
If you need a branch code, use git
Checkout. For example, if we have just obtained the kernel/common. Get code, we should first enter the common directory and then use the following command:
Git checkout origin/Android-goldfish-2.6.27-B goldfish
So we built a local Android-goldfish-2.6.27 branch named goldfish, and the code was synchronized with the android-goldgish-2.6.27. We can use git
Branch to list all local branches.
4. Synchronize the version Library
Using the repo sync command, we synchronize the entire android code tree to the local device. Similarly, we can use
Repo sync project1 project2...
This command is used to synchronize several projects.
To synchronize a single project in Android, you only need to execute a simple
Git pull
You can.
5. Download Code through gitweb
In addition, if you only need the code of a project on the main line, you can also download the Code through gitweb and search for a specific version using keywords in audit log, you can also find several new tags to download.
Git was initially designed for Linux kernel development, so it is not good to support other platforms, especially Windows platforms, which must have cygwin. Now, thanks to the msysgit project, we can use git without cygwin. In addition, git
Extensions is a very useful Windows Shell extension, which can be closely integrated with the resource manager, and even provides visual
Studio plug-in. There is a good instruction document on its official website. If you are interested, you can take a look.
For git reference documents, I recommend git magic. Here is a Chinese version of git magic.
Obtain anroid Linux kernel:
[Root @ localhost ~] # Mkdir Bin
[Root @ localhost ~] # Curl http://android.git.kernel.org/repo
> ~ /Bin/Repo
[Root @ localhost bin] # cd bin/
[Root @ localhost bin] # chmod A + x ~ /Bin/Repo
[Root @ localhost bin] # cd/usr/local/src/
[Root @ localhost SRC] # mkdir project-android
[Root @ localhost SRC] # cd project-android/
[Root @ localhost project-android] # git clone
Git: // android.git.kernel.org/kernel/common.git
It will be downloaded for half a day. After the download is completed:
[Root @ localhost SRC] # cd common
[Root @ localhost common] # ls
Arch credits drivers include kbuild maintainers net samples sound
Block crypto firmware init kernel makefile readme scripts USR
Copying documentation fs ipc lib mm reporting-bugs Security virt
[Root @ localhost common] # git branch-
* Android-2.6.27:
Diff
Remotes/ORIGIN/head-> origin/Android-2.6.27
Remotes/ORIGIN/Android-2.6.25
Remotes/ORIGIN/Android-2.6.27
Remotes/ORIGIN/Android-2.6.29
Remotes/ORIGIN/Android-goldfsh-2.6.27
Remotes/ORIGIN/Android-goldfsh-2.6.29
To download the 2.6.29 kernel, run the GIT checkout origin/Android-2.6.29 command.
Check if the Code has changed to 2.6.29? I 've been depressed for a long time here. How can I always download 2.6.27 kernel code?