I've imported a GitHub project but how do I setup the project in my Eclipse project workspace?
Do I need to set the GitHub working directory(c:\users) to my Eclipse working directory(c:\Projects) prior to checking out the project ?
https://i.stack.imgur.com/Hjc8R.png
Edited :
My working directory is now c:\users\projectname\.git So then I try to import the project using the eclipse "import" option. When I try to import selecting the option "Use the new projects wizard" the source code is not imported, if I import selecting the option "Import as general project" the source code is imported but the created project created by Eclipse is not a java project. When selecting the option "Use the new projects wizard" and creating a new java project using the wizard should'nt the code be automatically imported ?
https://i.stack.imgur.com/4pxtY.png
As mentioned in Alain Beauvois's answer, and now (Q4 2013) better explained in
Eclipse for GitHub
EGit 3.x manual (section "Starting from existing Git Repositories")
Eclipse with GitHub
EGit tutorial
Copy the URL from GitHub and select in Eclipse from the menu the
File → Import → Git → Projects from Git
https://i.stack.imgur.com/MWw0j.png
If the Git repo isn't cloned yet:
In> order to checkout a remote project, you will have to clone its repository first.
Open the Eclipse Import wizard (e.g. File => Import
), select Git => Projects
from Git and click Next
.
Select “URI
” and click Next
.
Now you will have to enter the repository’s location and connection data. Entering the URI will automatically fill some fields. Complete any other required fields and hit Next
. If you use GitHub, you can copy the URI from the web page.
Select all branches you wish to clone and hit Next again. Hit the Clone… button to open another wizard for cloning Git repositories.
https://i.stack.imgur.com/gvM1X.png
Original answer (July 2011)
First, if your "Working Directory" is C:\Users
, that is odd, since it would mean you have cloned the GitHub repo directly within C:\Users (i.e. you have a .git
directory in C:\Users
)
Usually, you would clone a GitHub repo in "any directory of your choice\theGitHubRepoName
".
As described in the EGit user Manual page:
In any case (unless you create a "bare" Repository, but that's not discussed here), the new Repository is essentially a folder on the local hard disk which contains the "working directory" and the metadata folder. The metadata folder is a dedicated child folder named ".git" and often referred to as ".git-folder". It contains the actual repository (i.e. the Commits, the References, the logs and such). The metadata folder is totally transparent to the Git client, while the working directory is used to expose the currently checked out Repository content as files for tools and editors. Typically, if these files are to be used in Eclipse, they must be imported into the Eclipse workspace in one way or another. In order to do so, the easiest way would be to check in .project files from which the "Import Existing Projects" wizard can create the projects easily. Thus in most cases, the structure of a Repository containing Eclipse projects would look similar to something like this:
See also the Using EGit with Github section.
My working directory is now c:\users\projectname\.git
You should have the content of that repo checked out in c:\users\projectname
(in other words, you should have more than just the .git
).
So then I try to import the project using the eclipse "import" option. When I try to import selecting the option "Use the new projects wizard", the source code is not imported.
That is normal.
If I import selecting the option "Import as general project" the source code is imported but the created project created by Eclipse is not a java project.
Again normal.
When selecting the option "Use the new projects wizard" and creating a new java project using the wizard should'nt the code be automatically imported ?
No, that would only create an empty project.
If that project is created in c:\users\projectname
, you can then declare the eisting source directory in that project.
Since it is defined in the same working directory than the Git repo, that project should then appear as "versioned".
You could also use the "Import existing project" option, if your GitHub repo had versioned the .project
and .classpath
file, but that may not be the case here.
With the last ADT, you can import Github project using Eclipse :
File -> Import -> Git -> Projects From Git > URI Enter the Github repository url Select the branch
I encountered the same problem, and finally found a way:
Add or create git repository in git view. Click new java project menu, uncheck "use default location", select the git repo location, click finish.
Ecplise Version: Mars.2 Release (4.5.2)
unanswered core problem persists:
My working directory is now c:\users\projectname.git So then I try to import the project using the eclipse "import" option. When I try to import selecting the option "Use the new projects wizard" the source code is not imported, if I import selecting the option "Import as general project" the source code is imported but the created project created by Eclipse is not a java project. When selecting the option "Use the new projects wizard" and creating a new java project using the wizard should'nt the code be automatically imported ?
Yes it should.
It's a bug. Reported here.
Here is a workaround:
Import as general project
Notice the imported data is no valid Eclipse project (no build path available)
Open the .project xml file in the project folder in Eclipse. If you can't see this file, see How can I get Eclipse to show .* files?.
Go to source tab
Search for
Right click the src folder, go to Build Path... and click Use as Source Folder
After that, you should be able to run & debug the project, and also use team actions via right-click in the package explorer.
If you still have troubles running the project (something like "main class not found"), make sure the <buildSpec>
inside the .project
file is set (as described here):
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
Using the command line is an option, and would remove the need for an Eclipse Plugin. First, create a directory to hold the project.
mkdir myGitRepo
cd myGitRepo
Clone the desired repository in the directory you just created.
git clone https://github.com/JonasHelming/gitTutorial.git
Then open Eclipse and select the directory you created (myGitRepo) as the Eclipse Workspace.
Don't worry that the Project Explorer is empty, Eclipse can't recognize the source files yet.
Lastly, create a new Java project with the exact same name as the project you pulled. In this case, it was 'gitTutorial'.
File -> New -> Java Project
At this point, the project's sub directories should contain the files pulled from Github. Take a look at the following post in my blog for a more detailed explanation.
http://brianredd.com/application/pull-java-project-from-github
It can be done in two ways:
1.Use clone Git
2.You can set it up manually by rearranging folders given in it. make a two separate folder 'src' and 'res' and place appropriate classes and xml file given by library. and then import project from eclipse and make it as library, that's it.
I think you need to create a branch before you can import into your local Eclipse, otherwise, there is an error leading to incapable of importing repository from Github or Bitbucket.
When the local git projects are cloned in eclipse and are viewable in git
perspective but not in package explorer
(workspace), the following steps worked for me:
Select the repository in git perspective
Right click and select import projects
Success story sharing
.project
and.classpath
in the same parent directory than the one of the.git
, and then edit its property to reference the source directory. The reference of that project will live in the Eclipse workspace. But the actual working directory for that project will be where the.git
is..git
, and if you configure it to reference the existing source directory coming out of the cloned GitHub repo, you have a project which will be seen by Eclipse as versioned (because of the presence of the.git
)