2013-11-21 3 views
0

My Setup: Я выполняю локальные коммиты в самой Eclipse IDE. Мои локальные репозитории также находятся в рабочей области. Как-то я не мог сделать удаленный коммитов с помощью Eclipse, так что я только что сделал, таким образом, я использую Git Баш сделать удаленный обязан codespaces.comGit создание каталога в репозитории [Codespaces]

git remote add origin [email protected]:acct_name/repo_name 
git push origin master 

Это хорошо служил мне до сих пор.

Теперь я создал другой репозиторий, допустим, repo_foo. Для этого репозитория я хочу разместить в нем несколько каталогов (проектов). Мне не нужны коды Projects здесь. Я просто хочу быть в состоянии сделать это.

git remote add origin [email protected]:acct_name/repo_foo/proj_1 
(currently this gives no repository in path error) 

Таким образом, структура репо должна выглядеть следующим образом.

repo_foo 
- proj_1 
    -src 
- proj_2 
    -src 
    -lib 

т.д.

Любые идеи для этого?

ответ

0

Теперь я создал другой репозиторий, скажем repo_foo. Для этого репозитория я хочу разместить в нем несколько каталогов (проектов). Мне действительно не нужны кодовые пространства «Проекты» здесь. Я просто хочу быть в состоянии сделать это.

Итак, вы хотите иметь вложенные репозитории git в других хранилищах git? Неясно, какова ваша конечная цель. Возможно, git submodules будет отвечать вашим потребностям? Субмодули в основном представляют собой другие репозитории, клонированные в другой репозиторий git. Итак, скажем, у вас есть основной проект, но у вас также есть репо для большой библиотеки, которую вы хотите использовать. Вы можете добавить библиотеку в качестве подмодуля &, ссылаясь на главный проект. Таким образом, если вы внесете изменения в библиотеку, проекты, которые имеют эту библиотеку в качестве подмодуля, могут быть автоматически обновлены. Достаточно мощная концепция, если вам это нужно.

Проблема с моей точки зрения заключается в том, что вы сворачиваете концепцию каталога & хранилище в одну вещь. Поэтому, когда вы делаете следующее:

git remote add origin [email protected]:acct_name/repo_foo/proj_1 

Вы говорите: «Идите в это репо. И создайте другое репо в этом репо ».

Не будет origin из [email protected]:acct_name/repo_foo/proj_1, поскольку родительский репо [email protected]:acct_name/repo_foo уже существует.

Что вам нужно сделать, так это настроить репо для каждого проекта. & решите схему именования.Что-то вроде:

  • repo_foo_proj_1
  • repo_foo_proj_2
  • и т.д ...

И ваша команда git remote add origin будет:

git remote add origin [email protected]:acct_name/repo_foo_proj_1 
git remote add origin [email protected]:acct_name/repo_foo_proj_2 
etc… 
0

При инициализации мерзавца в папке, все суб папки автоматически отслеживаются. При работе с несколькими проектами или папками, где каждый должен отслеживаться независимо. Вы должны держать их на одном уровне.

--home 
    --Workspace 
    --project1 
    --project2 
    --project3 

В случае инициализации мерзавца случайно на рабочем месте, когда вы проверяете git status, она включает в себя все файлы и папки, под которые будут отслеживаться. Когда вы выполняете git remote add origin, в файл конфигурации под .git/config добавляется удаленный URL-адрес, который используется для операций push и pull. Поэтому, если вы инициализируете repo_foo и предоставляете remote add, вы не можете выполнять те же действия в proj_1. Он автоматически отслеживается, и все операции push/pull будут использовать путь, присутствующий в файле repo_foo/.git/config.