GitHub

From HaFrWiki42
Jump to navigation Jump to search

GitHub is a web-based Git or Version Control Repository and Internet hosting service. It is mostly used for code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

GitHub offers both plans for private and free repositories on the same account which are commonly used to host open-source software projects. As of April 2017, GitHub reports having almost 20 million users and 57 million repositories, making it the largest host of source code in the world.

GitHub has a mascot called Octocat, a cat with five tentacles and a human-like face.

Introduction

Octocat mascot of GitHub

Since the information on GutHub is huge, the documentation is enorm and the issues large it is not always easy to find what you are looking for on the GitHub Website. Therefore this (hopeful) help webpage.

GitHub Access

Git Very Easy

Create & Clone
What How Explanation
Creates a new repo git init Creates a new local repository
Clones a local repo git clone /path-to-local-repo Clones a local local repository to a new local location (the current location).
Clones a remote repo git clone username@host:/path/to/repo Clones a remote repository to a local repository.
Add & Remove
What How Explanation
Adds changes to the INDEX git add <filename> Adds a new file to the local repository.
Adds all changes to the INDEX git add * Adds all new files to the local repository.
Removes a file from INDEX git rm <filename> Removes / Deletes a given filename from the local repository
Commit & Synchonize
What How Explanation
Commits changes git commit -m "<Message>" Commits changes from local to stage.
Pushes changes to remote repo git push origin master Pushes the committed changes into the remote repositories master
Connects local repo to remote git remote add origin <server> Connects the local repository to the remote repository.
Updates the local repo with remote changes git pull Updates local repo, Pulls changes from the remote to the local repo.
Branches
What How Explanation
Creates new branch git checkout -b <new-branch> Creates a new branch named new-branch.
Switches to master branch git checkout master Switches to the branch master, which is the main line.
Deletes a branch git branch -d <branch-name> Deletes the branch name from the repo.
Pushes a branch to remote repo git push origin <branch> Pushes the current workspace branch into the remote.
Merging
What How Explanation
Merges changes from another branch git merge <branch> Merges changes from another branch into the current local repo.
Views the changes between 2 branches git diff <source-branche> <target-branch> Shows the differences between 2 different branches.
Tagging
What How Explanation
Creates a tag git <tag-name> <commit-ID> Creates a tag for the given commit-id (See below)
Gets the commit-ID git log Gets the commit-ID from the latest commits (Latest first).
Restore
What How Explanation
Replaces working copy with latest from HEAD git checkout --<filename> Replaces the current working copy file with the latest from HEAD.

Github flow

At GitHub, we use our products every day and have developed a workflow to collaborate on projects. To make it work for teams regardless of their size or technical expertise, we made sure each step in our workflow can be completed within a web-based interface. [1][2]

  1. Create a branch from the repository, Delete a branch from the repository. [3]
  2. Create, edit, rename, move, or [[#Delete file|delete] files.
  3. Send a pull request from your branch with your proposed changes to kick off a discussion.
  4. Make changes on your branch as needed. Your pull request will update automatically.
  5. Merge the pull request once the branch is ready to be merged.
  6. Tidy up your branches using the delete button in the pull request or on the branches page.

Create a branch

  1. On GitHub, navigate to the main page of the repository.
  2. Click the branch selector menu.
  3. Type a unique name for your new branch.
  4. Press Enter.

Delete a branch

  1. On GitHub, navigate to the main page of the repository.
  2. Above the list of files, click NUMBER branches.
  3. Scroll to the branch that you want to delete, then click the trash-bin.

Create, edit, rename, move, or delete

Create file

Edit file

Rename file

Move file

Delete file

  1. On GitHub, navigate to the main page of the repository.
  2. In your repository, browse to the folder where you want to create a file.
  3. Above the file list, click Create new file.
  4. In the file name field, type the name and extension for the file. To create subdirectories, type the / directory separator.
  5. On the Edit new file tab, add content to the file.
  6. To review the new content, click Preview.
  7. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file.
  8. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request.
  9. Click Propose new file.

More...

  1. In your repository, browse to the file you want to edit.
  2. In the upper right corner of the file view, click the pencil-icon to open the file editor.
  3. On the Edit file tab , make any changes you need to the file.
  4. Above the new content, click Preview changes.
  5. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file.
  6. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request.
  7. Click Propose file change.

More...

  1. In your repository, browse to the file you want to rename.
  2. In the upper right corner of the file view, click the pencil-icon to open the file editor.
  3. In the filename field, change the name of the file to the new filename you want. You can also update the contents of your file at the same time.
  4. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file.
  5. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request.
  6. Click Propose file change.

More...

  1. In your repository, browse to the file you want to move.
  2. In the upper right corner of the file view, click the pencil-icon to open the file editor.
  3. In the filename field, change the name of the file using these guidelines:
    • To move the file into a subfolder, type the name of the folder you want, followed by /. Your new folder name becomes a new item in the navigation breadcrumbs.
    • To move the file into a directory above the file's current location, place your cursor at the beginning of the filename field, then either type ../ to jump up one full directory level, or type the backspace key to edit the parent folder's name.
  4. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file.
  5. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request.
  6. Click Propose file change.

More...

  1. Browse to the file in your repository that you want to delete.
  2. At the top of the file, click the 'Trash-bin'.
  3. At the bottom of the page, type a short, meaningful commit message that describes the change you made to the file.
  4. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is master, you should choose to create a new branch for your commit and then create a pull request.
  5. Click Propose file change.


Send a pull request

See https://help.github.com/articles/about-pull-requests

Make changes

Just do the necessary changes.

Merge

See https://help.github.com/articles/merging-a-pull-request


Tidy up

See https://help.github.com/articles/deleting-and-restoring-branches-in-a-pull-request

GitHub Repo Files

GitHub encourages the creation of a number of standard files when adding a project or repository into the VCS. In every sense it is a good practise to do so.

Al files have the extension .md and uses the GitHub Wiki Markup Language MarkDown. Markdown is a way to style text on the web. You control the display of the document; formatting words as bold or italic, adding images, and creating lists are just a few of the things we can do with Markdown. Mostly, Markdown is just regular text with a few non-alphabetic characters thrown in, like # or *.

Markdown Syntax

The MarkDown syntax is explained on https://guides.github.com/features/mastering-markdown.

Text

  • '*italic*' , italic by using 1 asterisk
  • '**bold**', bold by using 2 asterisks
  • [link to Google!](http://google.com) Link to Google

GitHub uses its own version of MarkDown named GitHub Flavored MarkDown (GFM), see https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown for more.

Changelog.md

The Changelog.md

Contributing.md

License

Readme.md

READMEs generally follow one format in order to immediately orient developers to the most important aspects of your project [4].

  • Project name: Your project’s name is the first thing people will see upon scrolling down to your README, and is included upon creation of your README file.
  • Description: A description of your project follows. A good description is clear, short, and to the point. Describe the importance of your project, and what it does.
  • Table of Contents: Optionally, include a table of contents in order to allow other people to quickly navigate especially long or detailed READMEs.
  • Installation: Installation is the next section in an effective README. Tell other users how to install your project locally. Optionally, include a gif to make the process even more clear for other people.
  • Usage: The next section is usage, in which you instruct other people on how to use your project after they’ve installed it. This would also be a good place to include screenshots of your project in action.
  • Contributing: Larger projects often have sections on contributing to their project, in which contribution instructions are outlined. Sometimes, this is a separate file. If you have specific contribution preferences, explain them so that other developers know how to best contribute to your work. To learn more about how to help others contribute, check out the guide for (setting guidelines for repository contributors)[1].
  • Credits: Include a section for credits in order to highlight and link to the authors of your project.
  • License: Finally, include a section for the license of your project. For more information on choosing a license, check out GitHub’s licensing guide!

See also

top

  • Git, A VCS Language used on GitHub.
  • GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over eight million people use GitHub to build amazing things together.
    • Guides GitHub, Basic Information (Guides) to Git and the implementation of Git on GitHub.
    • Help GitHub, The best place to look with a massive number of categories and help. A must if you are looking for something.

Reference

top

  1. Help-GitHub Articles, Help-GitHub-Flow
  2. Guides-GitHub Flow Guides
  3. Help-GitHub Categories, Managing Files.
  4. Open Source Guide, Making readmes readable.