The main content is taken from: git authoritative guide
Repo collaborative working mode analysis 1. Repo + Gerrit
Repo Gerrit is the two pillars of Android code management.
The general method for establishing a system in this mode is:
A. Build a git Server
B. Import Repo. Git. In order to save the network operation for Google clone, it may be rejected by Kung Fu.
C. Build a Gerrit Server
D. Create a project warehouse
E. Create a manifest. Git project list. The remote fetch points to the GIT server address set up by.
2. Repo not reviewed
The establishment of Gerrit is a little complicated and requires some maintenance. Of course, the most important thing is the learning and use of the Gerrit platform (it is not very important to the submitter but important to the manager ). Gerrit is not necessary in a team with excellent development environment. Every member is familiar with GIT operations, and his/her programming skills are trustworthy. The quality of unit testing is ensured by the Code submitter, an integrated test is conducted by a separate test team, that is, the team has a complete set of R & D workflows, and it is not necessary to introduce Gerrit.
From the Gerrit server, you can directly deal with the GIT server. You can use the repo forall iterator to push multiple project codes. General method:
A. Repo start:
Repo start master -- all
B. Use git push for push.
Repo forall-C git push
C. If the GIT server is read-only, you must update the server version library address one by one for the local version library.
Repo forall-C \
'Git remote set-URL -- push master android@xxxxxx.com: Android/$ {repo_project}. Git'
Repo_project is the key to batch setting. It is the project name.
3. Improved repo mode without review
The repo forall method requires that the branches created by the repo start must be consistent with those of the upstream node, which may cause problems.
The author, instructor Jiang Xin (GIT authoritative guide), improved the repo and added two sub-commands, Repo config/repo push, which allowed the repo to directly submit code to the game without the Gerrit server. Improved repo address: http://github.com/ossxp-com/repo. General method:
A. Check out the project from GitHub and use the standard Repo
Repo init -- repo-url = git: // github.com/ossxp-com/repo.git \
-- Repo-branch = Master -- no-repo-verify \
-U git: // github.com/ossxp-com/mainfest.git
Repo sync
B. Set pushurl
Repo config Repo. pushurl SSH: // git@github.com/ossxp-com/
C. push to the upstream Server
Assume that the local branch has been created through repo start and executed after several projects have been modified:
Repo push
The editor will pop up to confirm the list of projects to be pushed. # indicates ignore. The project to be submitted will be commented out. After saving and exiting, the push operation will be performed.
PS: use the improved repo to push new branches to the game server:
Repo start new1 -- all
Repo push -- new_branch