Difference between revisions of "GitHub"

From UConn PAN
Jump to navigation Jump to search
Line 3: Line 3:
 
== <u>The Setup</u> ==
 
== <u>The Setup</u> ==
 
<ol>
 
<ol>
 +
<!-- Step 1 -->
 
   <li>Sign up for a GitHub account by going to the [https://github.com/ GitHub website] and create a new account<br><i>- If you do not make your email address public you will have problems pushing your code later</i></li><br>
 
   <li>Sign up for a GitHub account by going to the [https://github.com/ GitHub website] and create a new account<br><i>- If you do not make your email address public you will have problems pushing your code later</i></li><br>
 +
 +
<!-- Step 2 -->
 
   <li>Once you're logged in, click on the "+" sign at the top-right corner of the GitHub homepage and select "New repository" to create a new repository. Give your repository a name and provide a description.</li>
 
   <li>Once you're logged in, click on the "+" sign at the top-right corner of the GitHub homepage and select "New repository" to create a new repository. Give your repository a name and provide a description.</li>
 
     <ul>
 
     <ul>
Line 17: Line 20:
 
         </ul>
 
         </ul>
 
     </ul>
 
     </ul>
 +
 +
<!-- Step 3 -->
 
   <li>Once the repository is setup online, add a Personal Access Token</li>
 
   <li>Once the repository is setup online, add a Personal Access Token</li>
 
     <ul>
 
     <ul>
Line 29: Line 34:
 
         </ul>
 
         </ul>
 
     </ul>
 
     </ul>
 +
 +
<!-- Step 4 -->
 
   <li>Clone your repository</li>
 
   <li>Clone your repository</li>
 
     <ul>
 
     <ul>
Line 39: Line 46:
 
     </ul><br>
 
     </ul><br>
  
 +
<!-- Step 5 -->
 
   <li>At this point you should have a new folder in your annex with the name of your GitHub repository</li>
 
   <li>At this point you should have a new folder in your annex with the name of your GitHub repository</li>
 
     <ul>
 
     <ul>
Line 44: Line 52:
 
       <li>If needed, you can link the local repository to the remote repository using:<br> <b>git remote add origin &lt;repository-url&gt;</b><br></li>
 
       <li>If needed, you can link the local repository to the remote repository using:<br> <b>git remote add origin &lt;repository-url&gt;</b><br></li>
 
     </ul><br>
 
     </ul><br>
 +
 +
<!-- Step 6 -->
 
   <li>To switch to or determine a branch in Git, you can use the git checkout command:
 
   <li>To switch to or determine a branch in Git, you can use the git checkout command:
 
     <ul>
 
     <ul>
Line 49: Line 59:
 
       <li>Create a new branch using: <br> <b>git branch new-branch-name</b> then use <b>git checkout new-branch-name</b> to switch to that branch and work in it<br> OR <br> <b>git checkout -b new-branch-name</b> will create and switch to the new branch in one step</li><br>
 
       <li>Create a new branch using: <br> <b>git branch new-branch-name</b> then use <b>git checkout new-branch-name</b> to switch to that branch and work in it<br> OR <br> <b>git checkout -b new-branch-name</b> will create and switch to the new branch in one step</li><br>
 
     </ul>
 
     </ul>
 +
 +
<!-- Step 7 -->
 
   <li>Add files/folders to your directory</li><br>
 
   <li>Add files/folders to your directory</li><br>
 +
 +
<!-- Step 8 -->
 
   <li>When you're ready to save, make sure you are in the root directory of your repository or the directory where the new folder you want to save is located. Then use the git add command to add the new folder and its contents to the staging area. Run the following command:<br> <b>git add folder-name</b><br> OR <br> <b>git add .</b> <br>  If you want to add all new files and folders in the current directory</li><br>
 
   <li>When you're ready to save, make sure you are in the root directory of your repository or the directory where the new folder you want to save is located. Then use the git add command to add the new folder and its contents to the staging area. Run the following command:<br> <b>git add folder-name</b><br> OR <br> <b>git add .</b> <br>  If you want to add all new files and folders in the current directory</li><br>
 +
 +
<!-- Step 9 -->
 
   <li>Once the new folder/file is added to the staging area, you can commit the changes using the git commit command:<br> <b>git commit -m "Commit message"</b> <br> Replace <i>Commit message</i> with a descriptive message summarizing the changes you made.</li><br>
 
   <li>Once the new folder/file is added to the staging area, you can commit the changes using the git commit command:<br> <b>git commit -m "Commit message"</b> <br> Replace <i>Commit message</i> with a descriptive message summarizing the changes you made.</li><br>
 +
 +
<!-- Step 10 -->
 
   <li>After committing the changes (on your local machine), you can push them to the remote repository on GitHub using the git push command:<br> <b>git push origin branch-name</b><br> Replace <i>branch-name</i> with the name of the branch you want to push to (e.g., main)<br> You will need to login with your Username and Personal Access Token</li><br>
 
   <li>After committing the changes (on your local machine), you can push them to the remote repository on GitHub using the git push command:<br> <b>git push origin branch-name</b><br> Replace <i>branch-name</i> with the name of the branch you want to push to (e.g., main)<br> You will need to login with your Username and Personal Access Token</li><br>
 
</ol>
 
</ol>

Revision as of 14:18, 31 May 2023

GitHub is a web-based platform that provides hosting of coding repositories. It offers a centralized location for people to store, manage, and allow collaboration on their code. It is especially useful for version control and project tracking. The following information is geared towards linking gluey annex repositories with GitHub, but can easily be used to link your home computer to a GitHub repository. This wiki page is being updated as the author learns how to use GitHub, so if you know a better, more efficient way to accomplish a task then by all means please do it that way (... and add an addendum to this page if you have a login).

The Setup

  1. Sign up for a GitHub account by going to the GitHub website and create a new account
    - If you do not make your email address public you will have problems pushing your code later

  2. Once you're logged in, click on the "+" sign at the top-right corner of the GitHub homepage and select "New repository" to create a new repository. Give your repository a name and provide a description.
    • The repository name will be your folder name on gluey (see below)
    • Repository description is optional
    • Repository Setting:
      • Private vs. Public
      • License (optional) - MIT License is well known and least restrictive
      • You can add a README file
      • You can also rename the main branch (this must be done before the repository is created, changing the name will change all subsequent repositories that are made in the future)
      • And more ...

  3. Once the repository is setup online, add a Personal Access Token
    • At the top-right of the GitHub website click on the pull-down and select "Settings"
    • On the left select "Developer settings" located at the bottom
    • Then on the left select "Personal access tokens"
    • Select "Fine-grained tokens" or "Tokens (classic)", I did the prior one
      • For the Fine-grained token you will need to select which permissions you'd like to allow (not sure about the classic token)
      • Select a period for the token to be valid, upto 90 days maximum (I believe)
      • Once complete it will provide you with the token you can copy, this will be used in place of your password later

  4. Clone your repository
    • Log in to gluey using a VNC and navigate to the location in your annex where you'll be working
      • You can do the same for your home computer, you'll just need to open a terminal or command prompt and navigate to the directory where you want to store your code
    • Type the command:
      git clone https://github.com/your-username/your-repository.git
      make sure to replace "your-username" with your GitHub username and "your-repository" with the name of your repository
    • You will now need to login. Use your GitHub Username, but make sure to use the Personal Access Token you created earlier and NOT your GitHub password

  5. At this point you should have a new folder in your annex with the name of your GitHub repository
    • Confirm that the remote repository is correctly added, use the command:
      git remote -v
    • If needed, you can link the local repository to the remote repository using:
      git remote add origin <repository-url>

  6. To switch to or determine a branch in Git, you can use the git checkout command:
    • Determine the name of the branch you want to switch to via:
      git branch
      It will show all branches available and indicate your current branch with a *
    • Create a new branch using:
      git branch new-branch-name then use git checkout new-branch-name to switch to that branch and work in it
      OR
      git checkout -b new-branch-name will create and switch to the new branch in one step

  7. Add files/folders to your directory

  8. When you're ready to save, make sure you are in the root directory of your repository or the directory where the new folder you want to save is located. Then use the git add command to add the new folder and its contents to the staging area. Run the following command:
    git add folder-name
    OR
    git add .
    If you want to add all new files and folders in the current directory

  9. Once the new folder/file is added to the staging area, you can commit the changes using the git commit command:
    git commit -m "Commit message"
    Replace Commit message with a descriptive message summarizing the changes you made.

  10. After committing the changes (on your local machine), you can push them to the remote repository on GitHub using the git push command:
    git push origin branch-name
    Replace branch-name with the name of the branch you want to push to (e.g., main)
    You will need to login with your Username and Personal Access Token