Repo全解の自分でrepo倉庫を建てる
7515 ワード
repoって何?
Repoはgitベースの倉庫管理ツールで、pythonスクリプトです.Repoは多くのgit倉庫を管理し、統一的なアップロードなどの他の操作を行うことができ、Andoid開発プロセスの一部を自動化することができます.
repoガイド
まずrepoは2つの部分に分かれています.一部はrepoというpythonファイルで、もう一部はrepoです.gitというgit倉庫このrepoファイルはブートのようで、コマンドをダウンロードして実行可能に設定します.
次の操作を実行できます.
プロンプトrepoがインストールされていない場合は、次のコマンドを実行します.
ヒントrepoがインストールされていないので、repo initを使用してインストールできます.2つのサブコマンドのみがサポートする.これは、このrepoファイルがブートまたはインストーラであることを示す.どのようにインストールしますか?
repo.git gpg署名
ヒントに従って、次の操作を行います.
しばらく待つと上記のように表示され、googleのgerritからrepoをダウンロードしていることがわかります.git倉庫、最後にrepo initの使い方を提示するにはmanifestのurlを指定しなければならないので、次の節で紹介します.このコマンドを実行すると、現在のディレクトリにディレクトリが作成されます.repo、その中にrepoというディレクトリがあります.repoからです.git倉庫で検出されたコード.cd到repo/repo,git status,発見時にcloneが来たのになぜそのアドレスにコードを検出したのですか?答えはきっとそのrepoスクリプトの中に2つの変数があるに違いない.
それぞれrepoです.git倉庫のurlと検出されたbranch.もし私たちがrepoをcloneに来させたいなら、私たちのrepo.git,上の変数を修正すればよい.どうやって自分でrepoを作るの?gitは?これはもう一つの問題です.次にrepo helpを実行します.
わあ、命令がこんなに多い!!このとき、repoツールがあるだけですが、複数のgitを管理するには、gitを管理する方法、どこから引くかなどを説明するリストが必要です.この任務はmanifestに依存しなければならない.gitです.前に述べたように、repo initの場合、-u urlでmanifestを指定します.gitの位置
manifests.git
次のコマンドを使用します.
repoの初期化に成功します.しかし、私たちは自分の倉庫を管理しなければならないので、自分のmanifestsを構築しなければなりません.git. このmanifestsの内容が一番簡単なのはdefaultです.xml. default.xmlの内容は次のとおりです.
ルート要素manifestはremote,default,projectを定義する.remoteは複数可能で、それぞれ1つのリモート引き出し倉庫を定義し、fetchは倉庫のurlであり、使用可能である.repo init-u urlのurl defaultを使用すると、各プロジェクトのデフォルト倉庫とデフォルト分岐projectがリモート倉庫とcloneがローカルに来た後のディレクトリ名を示すプロジェクトを定義します.nameはプロジェクトのリモートウェアハウス名で、以上のコードで引いたプロジェクトはgit://localhost/helo
管理する倉庫
管理する倉庫は普通のgit.以上のすべての準備が完了すると.僕らはできる
遠隔倉庫が現地に引き寄せられた.
まとめ
実は、私はいつも多くのgitライブラリを使ってノートとプロジェクトを保存して、私の住んでいる地方は木がネットがあって、それから私は私のノートと会社のコンピュータからデータを同期して、uディスクを通じてしかできなくて、そこでどのようにcloneの地元のgit倉庫を研究して、git倉庫が多くなって、私は毎回1つ1つの同期が面倒で、だからrepoを考えて、前に携帯電話のシステムをしてずっと使ったことがあるため、そしていたずらをして、私が最終的に出したとき、reviewがなくて、私の提出は私のgit倉庫に提出できないことに気づいて、そこで無言になりました.でもね、勉強になりました.実はそれを使って同期することができて、ただ少し鶏を殺して牛刀を使って、簡単なシナリオを書くほうがいいです.
いくつかの問題 repoはAndroidでしか使えませんか?
リファレンス
http://source.android.com/source/developing.htmlrepoの使用http://source.android.com/source/using-repo.htmlrepoの使用http://source.android.com/source/downloading.html#installing-repoインストールrepohttp://project-management.diandian.com/post/2012-03-02/14242257自分のrepoを構築する.git Git権威ガイド-第4編-第25章-REPOhttps://code.google.com/p/git-repo/source/browse/docs/manifest-format.txt?r=cd81dd6403fc8dbe6ec5920c517d9083902c3c1fmanifestのフォーマットについて詳しく説明しました
私のブログをもっと見たいです.http://jinguoliang.github.io
Repoはgitベースの倉庫管理ツールで、pythonスクリプトです.Repoは多くのgit倉庫を管理し、統一的なアップロードなどの他の操作を行うことができ、Andoid開発プロセスの一部を自動化することができます.
repoガイド
まずrepoは2つの部分に分かれています.一部はrepoというpythonファイルで、もう一部はrepoです.gitというgit倉庫このrepoファイルはブートのようで、コマンドをダウンロードして実行可能に設定します.
$curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$chmod a+x ~/bin/repo
次の操作を実行できます.
$~/bin/repo # PATH
error: repo is not installed. Use "repo init" to install it here.
プロンプトrepoがインストールされていない場合は、次のコマンドを実行します.
$~/bin/repo help
usage: repo COMMAND [ARGS]
repo is not yet installed. Use "repo init" to install it here.
The most commonly used repo commands are:
init Install repo in the current working directory
help Display detailed help on a command
For access to the full online help, install repo ("repo init").
ヒントrepoがインストールされていないので、repo initを使用してインストールできます.2つのサブコマンドのみがサポートする.これは、このrepoファイルがブートまたはインストーラであることを示す.どのようにインストールしますか?
repo.git gpg署名
ヒントに従って、次の操作を行います.
$repo init # repo PATH
Get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: manifest url (-u) is required.
しばらく待つと上記のように表示され、googleのgerritからrepoをダウンロードしていることがわかります.git倉庫、最後にrepo initの使い方を提示するにはmanifestのurlを指定しなければならないので、次の節で紹介します.このコマンドを実行すると、現在のディレクトリにディレクトリが作成されます.repo、その中にrepoというディレクトリがあります.repoからです.git倉庫で検出されたコード.cd到repo/repo,git status,発見時にcloneが来たのになぜそのアドレスにコードを検出したのですか?答えはきっとそのrepoスクリプトの中に2つの変数があるに違いない.
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
REPO_REV = 'stable'
それぞれrepoです.git倉庫のurlと検出されたbranch.もし私たちがrepoをcloneに来させたいなら、私たちのrepo.git,上の変数を修正すればよい.どうやって自分でrepoを作るの?gitは?これはもう一つの問題です.次にrepo helpを実行します.
$repo help
usage: repo COMMAND [ARGS]
The most commonly used repo commands are:
abandon Permanently abandon a development branch
branch View current topic branches
branches View current topic branches
checkout Checkout a branch for development
cherry-pick Cherry-pick a change.
diff Show changes between commit and working tree
diffmanifests Manifest diff utility
download Download and checkout a change
grep Print lines matching a pattern
info Get info on the manifest branch, current branch or unmerged branches
init Initialize repo in the current directory
list List projects and their associated directories
overview Display overview of unmerged project branches
prune Prune (delete) already merged topics
rebase Rebase local branches on upstream branch
smartsync Update working tree to the latest known good revision
stage Stage file(s) for commit
start Start a new branch for development
status Show the working tree status
sync Update working tree to the latest revision
upload Upload changes for code review
See 'repo help ' for more information on a specific command.
See 'repo help --all' for a complete list of recognized commands.
わあ、命令がこんなに多い!!このとき、repoツールがあるだけですが、複数のgitを管理するには、gitを管理する方法、どこから引くかなどを説明するリストが必要です.この任務はmanifestに依存しなければならない.gitです.前に述べたように、repo initの場合、-u urlでmanifestを指定します.gitの位置
manifests.git
次のコマンドを使用します.
$repo init -u https://android.googlesource.com/platform/manifests
repoの初期化に成功します.しかし、私たちは自分の倉庫を管理しなければならないので、自分のmanifestsを構築しなければなりません.git. このmanifestsの内容が一番簡単なのはdefaultです.xml. default.xmlの内容は次のとおりです.
<manifest>
<remote name="local" fetch="git://localhost/" />
<default remote="local" revision="master"/>
<project path="hello" name="helo"/>
manifest>
ルート要素manifestはremote,default,projectを定義する.remoteは複数可能で、それぞれ1つのリモート引き出し倉庫を定義し、fetchは倉庫のurlであり、使用可能である.repo init-u urlのurl defaultを使用すると、各プロジェクトのデフォルト倉庫とデフォルト分岐projectがリモート倉庫とcloneがローカルに来た後のディレクトリ名を示すプロジェクトを定義します.nameはプロジェクトのリモートウェアハウス名で、以上のコードで引いたプロジェクトはgit://localhost/helo
管理する倉庫
管理する倉庫は普通のgit.以上のすべての準備が完了すると.僕らはできる
$repo sync
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From git://localhost/helo
* [new branch] master -> local/master
hello/: leaving master; does not track upstream
$ls
hello repo
遠隔倉庫が現地に引き寄せられた.
まとめ
実は、私はいつも多くのgitライブラリを使ってノートとプロジェクトを保存して、私の住んでいる地方は木がネットがあって、それから私は私のノートと会社のコンピュータからデータを同期して、uディスクを通じてしかできなくて、そこでどのようにcloneの地元のgit倉庫を研究して、git倉庫が多くなって、私は毎回1つ1つの同期が面倒で、だからrepoを考えて、前に携帯電話のシステムをしてずっと使ったことがあるため、そしていたずらをして、私が最終的に出したとき、reviewがなくて、私の提出は私のgit倉庫に提出できないことに気づいて、そこで無言になりました.でもね、勉強になりました.実はそれを使って同期することができて、ただ少し鶏を殺して牛刀を使って、簡単なシナリオを書くほうがいいです.
いくつかの問題
リファレンス
http://source.android.com/source/developing.htmlrepoの使用http://source.android.com/source/using-repo.htmlrepoの使用http://source.android.com/source/downloading.html#installing-repoインストールrepohttp://project-management.diandian.com/post/2012-03-02/14242257自分のrepoを構築する.git Git権威ガイド-第4編-第25章-REPOhttps://code.google.com/p/git-repo/source/browse/docs/manifest-format.txt?r=cd81dd6403fc8dbe6ec5920c517d9083902c3c1fmanifestのフォーマットについて詳しく説明しました
私のブログをもっと見たいです.http://jinguoliang.github.io