Eclipse Egit няма да импортира репо в работното пространство

Опитвам се да импортирам съществуващо git хранилище като проект на Eclipse. Хранилището се съхранява в местоположението ~/src/repo_dir, а ~/src/ е моята директория на работното пространство на eclipse.

Ако използвам последователността от операции в менюто:

File --> Import --> Git --> Projects from Git --> Local --> (Select my repo) 
--> "Import as General Project"

Получавам грешката:

/Users/me/src/repo_dir overlaps the location of another project: 'repo_dir'

и не мога да импортирам проекта. Изглежда, защото Egit не иска оригиналното репо, което се импортира, вече да е в работното пространство. Въпреки това, ако след това преместя repo_dir извън директорията на работното пространство ~/src/ и след това импортирам проекта чрез метода по-горе, той не копира съдържанието в директорията на работното пространство, така че сега файловете ми живеят някъде другаде, което е нежелателно. Единственото решение, което намерих, е да преместя репото от ~/src, да го импортирам, да изтрия получения проект, да преместя репото обратно в ~/src и след това да го импортирам с git като „Съществуващ проект“. Някой знае ли по-чист начин за справяне с това?


person Sam Manzer    schedule 01.01.2013    source източник


Отговори (2)


Тук има два различни проблема:

  1. Git обработва избрана папка във вашия компютър като хранилище - и също така съхранява някои свързани с git метаданни в нея.
  2. Eclipse обработва избрана папка във вашия компютър като ваше работно пространство. Той съхранява тези конфигурационни файлове на Eclipse (не са предназначени за споделяне) и дори по-лошо, очаква йерархия на папки на едно ниво за проекти.

Това означава, че поставянето на Git хранилище в работното пространство може да причини много нежелани проблеми - така че не препоръчвам този начин (дори ако чрез някакъв хак е работещ). Ако обаче искате да организирате всички неща, свързани с работно пространство на Eclipse, можете да създадете структура на папки като тази:

  • eclipse-stuff
    • workspace
    • git
      • git-repo1
      • git-repo2

Папката workspace е дадена на Eclipse като папка за работно пространство, докато git-repo1 и git-repo2 са вашите Git хранилища.

От друга страна, обичам да поставя всички мои git хранилища в обща папка, независимо от работното пространство на Eclipse, в което ги използвам, но ако искате да организирате съдържанието, това може да не е достатъчно за вас.

person Zoltán Ujhelyi    schedule 01.01.2013
comment
Така че по същество вие препоръчвате подхода за съхраняване само на метаданни в дървото на директорията на работното пространство на eclipse, докато източникът живее другаде? Има ли начин да направите това поведение по подразбиране за проекти, създадени в интерфейса на eclipse, вместо да се импортират като външни хранилища? - person Sam Manzer; 02.01.2013
comment
По принцип да, правилно ме разбрахте. Но не знам никакъв лесен начин за съхраняване на всички проекти извън работното пространство (може да се зададе, когато проектът е създаден или като проверка, или в съветника за нов проект), но настройката по подразбиране е работното пространство. Ето защо предложих специфичните за работното пространство git хранилища - в такъв случай поне обработвате всичките си неща заедно - SVN/неверсирани проекти в работното пространство, git проекти до него. - person Zoltán Ujhelyi; 02.01.2013

Имах този проблем с Eclipse Kepler.

Завършете с инсталирането на Eclipse Mars и импортирайте новия проект в друго работно пространство. (Luna също ще работи добре)

Ако трябва да работите по текущи проекти и да създадете среда за предстоящия...

person ShrekWang    schedule 22.04.2016