{"id":24515656,"url":"https://github.com/bhokloo/github-handbook","last_synced_at":"2025-07-22T14:34:30.716Z","repository":{"id":116350671,"uuid":"171456188","full_name":"bhokloo/GitHub-HandBook","owner":"bhokloo","description":"GitHub Guide for Begineers. GitHub is a development platform for version control and collaboration. It allows you to host and manage your projects and work together on same projects from anywhere. Well let’s start with a few basics.","archived":false,"fork":false,"pushed_at":"2019-02-19T16:45:32.000Z","size":1198,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T10:41:45.487Z","etag":null,"topics":["beginner-friendly","github","github-handbook","githubguides","guides","signup-flow"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bhokloo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-02-19T10:46:21.000Z","updated_at":"2022-11-02T07:26:42.000Z","dependencies_parsed_at":"2023-08-08T07:06:08.528Z","dependency_job_id":null,"html_url":"https://github.com/bhokloo/GitHub-HandBook","commit_stats":null,"previous_names":["bhokloo/github-handbook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bhokloo/GitHub-HandBook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhokloo%2FGitHub-HandBook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhokloo%2FGitHub-HandBook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhokloo%2FGitHub-HandBook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhokloo%2FGitHub-HandBook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhokloo","download_url":"https://codeload.github.com/bhokloo/GitHub-HandBook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhokloo%2FGitHub-HandBook/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266510687,"owners_count":23940696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beginner-friendly","github","github-handbook","githubguides","guides","signup-flow"],"created_at":"2025-01-22T01:18:45.216Z","updated_at":"2025-07-22T14:34:30.692Z","avatar_url":"https://github.com/bhokloo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub HandBook\n**[GitHub](http://github.com)** is a development platform for version control and collaboration. It allows you to host and manage your projects and work together on same projects from anywhere.\n\nWell let’s start with a few basics.\n## Terminology\n\n| Keyword | Description |\n| ---| --- |\n| **Repository** | **\"Repo\"** for shortv is a folder for storing your codes, files, text files, image files, etc. It can be local folder on your computer, or a storage space on GitHub. |\n| **Fork** | A copy of someone else's project or repository. Forking makes it possible for you to freely experiment the project **WITHOUT** affecting the original project. |\n| **Upstream** | The original repo or Project that you have forked |\n\nRepositories\nBranches\nCommits\nPull Requests\n\n## [What is Git?](https://www.atlassian.com/git/tutorials/what-is-git)\n\nIt is basically a **Version Control System** which helps us to have a multiple versions of our project every point of time to avoid losing or overwriting it.\nIf you are working together on the same projects then **Git** will help you to:\n- Save your codes online.\n- See what new changes are made by all developers\n- Discuss issues with other developers\n- Recovering deleted datas\n- Revert accidentally changed data.\n- Share and exchange code with other developers easily.\n- Backup your code easily to a remote server.\n- **And Many more**\n\n# Getting Started\n## Sign Up on GitHub\n\nRefer to this [Link](https://github.com/join?source=header-home)\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eSelect New Repository\u003c/strong\u003e\u003cbr/\u003e\u003cbr/\u003e\n    \u003cul\u003e\u003cli\u003eUpper right corner\u003c/li\u003e\n  \u003cli\u003eSelect New repository\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p4.png\" width=\"350\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eCreate a Repository\u003c/strong\u003e\u003cbr/\u003e\u003c/br\u003e\n\u003cul\u003e\n  \u003cli\u003eName it\u003c/li\u003e\n  \u003cli\u003eProvide a Short description\u003c/li\u003e\n  \u003cli\u003eSelect Initializewith a README.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p3.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003ecreate a new branch\n  \u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd colspan=\"2\"\u003e\u003cstrong\u003e\u003ch2\u003eBRANCH\u003c/h2\u003e\u003c/strong\u003e\n    \u003cp align=\"justify\"\u003e\n      We use Branching to work on different versions of a repository at one time. The default \u003cstrong\u003eBRANCH\u003c/strong\u003e is named as \u003cstrong\u003eMASTER\u003c/strong\u003e. We create new branches which can be said as a copy of Master branch and we do our experiments there before committing them to master. Any changes done in your new branches will not be reflected in your master branch. But if someone made a change in your master branch then you could pull in those updates to your branch. When the code is ready, you can merge all of your branch into master.\n    \u003c/p\u003e\u003c/br\u003e\n    \u003ctd\u003e\n \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003e\u003cstrong\u003eCreate a New Brach\u003c/strong\u003e\u003cbr/\u003e\u003c/br\u003e\n\u003cul\u003e\n  \u003cli\u003eGo to your new repository\u003c/li\u003e\n  \u003cli\u003eDrop down (branch: master)\u003c/li\u003e\n  \u003cli\u003eType a branch name\u003c/li\u003e\n  \u003cli\u003eSelect the blue branch box\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p6.png\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n \n \n \u003ctr\u003e\n  \u003ctd colspan=\"2\"\u003e\u003cstrong\u003e\u003ch2\u003eCOMMIT\u003c/h2\u003e\u003c/strong\u003e\n    \u003cp align=\"justify\"\u003e\n     Commits are basically saving your changes. For each commit you can add a commit message and a small description explaining the changes made so that other contributors will understand why you made the change. In short Commits prepares a history of your changes. Thus helping you to see your previous codes.\n    \u003c/p\u003e\u003c/br\u003e\n    \u003ctd\u003e\n \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003e\u003cstrong\u003eCreate Commit\u003c/strong\u003e\u003cbr/\u003e\u003c/br\u003e\n\u003cul\u003e\n  \u003cli\u003eClick the README.md file\u003c/li\u003e\n  \u003cli\u003eClick the  pencil to edit\u003c/li\u003e\n  \u003cli\u003eWrite something\u003c/li\u003e\n  \u003cli\u003eAdd a commit message \u003c/li\u003e\n  \u003cli\u003eAdd a description\u003c/li\u003e\n   \u003cli\u003eClick Commit changes button.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p7.png\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n   \u003ctd colspan=\"2\"\u003e\u003cp\u003e\u003cbr/\u003eYou have a \u003cstrong\u003eMASTER\u003c/strong\u003e Branch and \u003cstrong\u003eDEMOEDITS\u003c/strong\u003e Branch. These changes will be made to just the README file on your \u003cstrong\u003eDEMOEDITS\u003c/strong\u003e branch and not on your \u003cstrong\u003eMASTER\u003c/strong\u003e Branch.\u003c/p\u003e\u003cbr/\u003e\n  \u003c/td\u003e\n  \u003ctr\u003e\n    \n   \u003ctr\u003e\n  \u003ctd colspan=\"2\"\u003e\u003cstrong\u003e\u003ch2\u003ePULL REQUEST\u003c/h2\u003e\u003c/strong\u003e\n    \u003cp align=\"justify\"\u003e\nNow it's time for pull request. You can open a pull request in your own repository and then merge it to your master branch. But mainly we use pull request to propose your changes to someone interested. If someone review your code they will pull in your contribution to their branches. You can easily figure out the differences of the content from both branches.\n    \u003c/p\u003e\u003c/br\u003e\n    \u003ctd\u003e\n \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003eClick the  Pull Request tab\u003cbr/\u003e\u003cbr/\u003eClick New Pull Request\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p8.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n  \u003ctd\u003e\u003cbr/\u003eIn the \u003cstrong\u003eExample Comparisons box\u003c/strong\u003e,\u003cbr/\u003e\u003cbr/\u003eselect your branch \u003cbr/\u003eCompare with the Master Branch.\u003c/strong\u003e\u003cbr/\u003e\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p9.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n  \u003ctd\u003e\u003cbr/\u003eclick Create Pull Request button.\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p11.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n     \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003eGive a title and a brief \u003cbr/\u003e\u003cbr/\u003edescription of your changes.\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p12.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e \n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003eClick Merge pull request\u003cbr/\u003e\u003cbr/\u003eClick Confirm Merge\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p10.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003e\u003cbr/\u003eDelete your Branch\u003cbr/\u003e\u003c/br\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p13.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Git and GitHub on Windows\n[Download](https://git-scm.com/downloads) and install [Git](https://git-scm.com/downloads)\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eSearch for Git Bash\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p1.png\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003eType git --version\n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/p2.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n  \u003ctd colspan=\"2\"\u003e\u003cbr/\u003eGo to Desktop and create a folder \u003cstrong\u003e\"git\"\u003c/strong\u003e. Open the folder and right Click, select \u003cstrong\u003eGit Bash Here\u003c/strong\u003e\u003cbr/\u003e\u003cbr/\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e\u003cbr/\u003eCreate a Respository Online. Follow instruction above\u003cbr/\u003e\u003cbr/\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003eClick Clone or Download \u003cbr/\u003e\u003cbr/\u003e\n     Copy the URL \n    \u003c/td\u003e\n    \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/pp2.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e git config --global user.name \"Your Name\" \u003cbr/\u003e\u003cbr/\u003e\ngit config --global user.email \"youremail@domain.com\" \u003cbr/\u003e\u003cbr/\u003e\ngit clone (Paste the URL)\n \u003cbr/\u003e\u003cbr/\u003e\n    \u003c/td\u003e\n     \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/pp3.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e\u003cbr/\u003eGo to the \"git\" folder and there you go. All files in your local folder\u003cbr/\u003e\n \u003cbr/\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e \u003cbr/\u003eGo inside the new folder.\n      In my case its \u003cstrong\u003e\"GitHub-HandBook\" and create a file \"hello.txt\"\u003c/strong\u003e\n \u003cbr/\u003e\u003cbr/\u003e\n  \u003c/tr\u003e\n  \n  \u003ctr\u003e\n    \u003ctd\u003e type cd \"folder name\" \u003cbr/\u003e\u003cbr/\u003e\ngit add hello.txt \u003cbr/\u003e\u003cbr/\u003e\ngit status \u003cbr/\u003e\u003cbr/\u003e\ngit commit -m \"(committed message)\" \"filename\"\u003cbr/\u003e\u003cbr/\u003e\ngit push -u origin master \u003cbr/\u003e\u003cbr/\u003e\n      Provide your credentials \u003cbr/\u003e\n      \u003cbr/\u003e\n  There you go, Refresh your \u003cbr/\u003eGitHub Online Account to see the new file\n\n \u003cbr/\u003e\u003cbr/\u003e\n    \u003c/td\u003e\n     \u003ctd\u003e \u003cp align=\"left\"\u003e\n       \u003cimg src=\"pictures/pp4.PNG\" width=\"550\"\u003e\n    \u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003cbr/\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhokloo%2Fgithub-handbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhokloo%2Fgithub-handbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhokloo%2Fgithub-handbook/lists"}