2014-10-20 25 views
2

我要創建整個Android庫(使用回購工具) 有沒有一種簡單的方法來複制源到我自己的GitLab服務器的副本?導入整個Android庫來GitLab

+0

git push不工作嗎? – random 2014-10-20 13:38:12

+0

推動每一個項目?這似乎很多工作。必須有其他更簡單的方法。 – DiGMi 2014-10-20 14:04:02

+0

http://stackoverflow.com/questions/24785592/mass-adding-repos-to-gitlab – random 2014-10-20 14:19:10

回答

0

即使Android回購使用repo tool,您最終得到一個常規的git回購,因爲像repo sync這樣的命令就像是git clone

您GitLab服務器上簡單地創建一個空的回購協議,然後去當地的回購,以及:

git remote add gitlab /url/of/your/gitlab/repo 
git push --mirror gitlab 
+1

你是對的,但是我正在尋找一個成批增加整個庫。我不想逐個添加它們。 – DiGMi 2014-10-23 12:45:42

-1

我想解決這個問題了很長一段時間。我認爲有同樣問題的人少。因爲你應該是一個Android系統開發者而不僅僅是一個簡單的git用戶可以遇到這個問題。

There是一個很好的方法來做到這一點。

Import bare repositories into your GitLab instance 
Notes 
The owner of the project will be the first admin 
The groups will be created as needed 
The owner of the group will be the first admin 
Existing projects will be skipped 
How to use 
Create a new folder inside the git repositories path. This will be the name of the new group. 
For omnibus-gitlab, it is located at: /var/opt/gitlab/git-data/repositories by default, unless you changed it in the /etc/gitlab/gitlab.rb file. 
For installations from source, it is usually located at: /home/git/repositories or you can see where your repositories are located by looking at config/gitlab.yml under the gitlab_shell => repos_path entry. 
New folder needs to have git user ownership and read/write/execute access for git user and its group: 

sudo -u git mkdir /var/opt/gitlab/git-data/repositories/new_group 
If you are using an installation from source, replace /var/opt/gitlab/git-data with /home/git. 

Copy your bare repositories inside this newly created folder: 
sudo cp -r /old/git/foo.git /var/opt/gitlab/git-data/repositories/new_group/ 

# Do this once when you are done copying git repositories 
sudo chown -R git:git /var/opt/gitlab/git-data/repositories/new_group/ 
foo.git needs to be owned by the git user and git users group. 

If you are using an installation from source, replace /var/opt/gitlab/git-data with /home/git. 

Run the command below depending on your type of installation: 
Omnibus Installation 

$ sudo gitlab-rake gitlab:import:repos 
Installation from source 

Before running this command you need to change the directory to where your GitLab installation is located: 

$ cd /home/git/gitlab 
$ sudo -u git -H bundle exec rake gitlab:import:repos RAILS_ENV=production 
Example output 

Processing abcd.git 
* Created abcd (abcd.git) 
Processing group/xyz.git 
* Created Group group (2) 
* Created xyz (group/xyz.git) 
[...]