====== GitHub for Personal Use with Eclipse ====== This page describes one way to use GitHub for personal use (whether you are working alone or with someone else) under Eclipse. It uses a different repository for each course. **Note that individual courses that require the use of Git (e.g., CS345) may specify a different process and/or may not use GitHub. ** ===== For Each Course ===== For each course you must create a repository on GitHub using one machine. Then you must create the necessary directories/folders on each machine and clone the GitHub repository. ==== Create a GitHub Repository From One Machine ==== - Open a WWW browser. - Login to GitHub. - Create a new repository for the course (e.g., with a repository name of ''cs999''). - Click on ".gitignore template" and select "None". - Click on Create repository. - Click on ".gitignore" in the Quick setup area to create such a file. - Add the following to the file: # Byte Code # *.class # Eclipse # .settings/ bin/ tmp/ .metadata .classpath .project *.tmp *.bak *.swp *~.nib local.properties .loadpath .factorypath .checkstyle # Log Files # *.log # OS X # .DS_Store # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar # Virtual Machine Crash Logs (see http://www.java.com/en/download/help/error_hotspot.xml) # hs_err_pid* Then, click on [Commit new file]. At this point you should also create a Personal Access Token (see ''https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token''). ==== Create the Necessary Directories/Folders on Each Machine ==== - Open a file explorer/finder/terminal. - Create a directory/folder for the course (e.g., ''/home/bernstdh/cs999''). - Create a directory/folder for the Eclipse workspace for the course (e.g., ''/home/bernstdh/cs999/eclipse''). **Don't use the course directory/folder**, create a sub directory/folder in the course directory/folder. - Create a directory/folder for the Git repository for the course (e.g., ''/home/bernstdh/cs999/git''). Again, **don't use the course directory/folder** (create a sub directory/folder in the course directory/folder), **don't use the workspace folder**, and **don't put the repository folder inside of the workspace folder**. ==== Clone the GitHub Repository on Each Machine ==== - Start Eclipse. When asked for the workspace to use, browse to the directory/folder you just created for this purpose (e.g., ''/home/bernstdh/cs999/eclipse''). - Setup the workspace as needed (e.g., add a Checkstyle checks file, add a formatter). - Open the Git Perspective. - Click on "Clone a Git repository". When asked for the "Repository directory" to use, browse to the directory/folder you created for this purpose (e.g., ''/home/bernstdh/cs999/git''). - Enter the GitHub URI (e.g., ''https://github.com/bernstdh/cs999'') in the "URI:" field. - Enter your GitHub user name in the "User:" field. - Enter your Personal Access Token in the "Password" field. - Click on Next>. - Select "main" if it isn't already. - Click on Next>. - Enter the name of the the directory/folder you created for the Git repository for this course (e.g.,''/home/bernstdh/cs999/git'') in the "Directory:" field. (Note: Be careful if you use the [Browse] button as it will add additional subdirectories. They won't break anything but they will make the directory structure more confusing.) - Make sure the "Remote name:" is origin. - Click in Finish. ===== For Each Eclipse Project in Each Course ===== For each Eclipse project in a course, you will create the project on one machine and push it to GitHub. The, you will import the project on every other machine. ==== Create the Project On One Machine ==== - Start Eclipse. - Open the "Java Perspective". - Create the new project. - Add the project to source control by right-clicking on the package name, pulling down to [Team] and across to [Share project]. Note: At this point, a directory/folder with the name of the project will be added to the workspace. - Click on the "Repository:" dropdown and select the Git repository for this course (e.g., ''/home/bernstdh/cs999/git''). - Click on Finish. Note: At this point, the directory/folder for the project will be moved from the worskapce directory/folder to the Git respoitory folder/directory. - Commit and push. ==== Import the Project On Other Machine(s) ==== - Start Eclipse. - Open the Git Perspective. - Expand the repository (e.g., ''git''). - Expand the "Working Tree". - Right-click on the directory/folder icon for the project. - Pull-down to Import Projects.... - Click on Finish.