|
1 | 1 | --- |
2 | 2 | id: intro-github |
3 | | -title: Introduction of GitHub |
4 | | -sidebar_label: Introduction of GitHub #displays in sidebar |
| 3 | +title: Introduction to GitHub |
| 4 | +sidebar_label: Introduction to GitHub #displays in sidebar |
5 | 5 | sidebar_position: 1 |
6 | 6 | tags: |
7 | 7 | [ |
8 | 8 | GitHub, |
9 | | - Introduction of GitHub, |
| 9 | + Introduction to GitHub, |
10 | 10 | What is GitHub, |
11 | 11 | Why learn GitHub, |
12 | 12 | How to use GitHub, |
13 | 13 | ] |
14 | | -description: In this tutorial, you will learn about GitHub, its importance, what is GitHub from Scratch, how to use GitHub, steps to start using GitHub, and more. |
| 14 | +description: In this tutorial, you will learn about GitHub, its importance, what GitHub is from scratch, how to use GitHub, steps to start using GitHub, and more. |
15 | 15 | --- |
16 | 16 |
|
17 | 17 | GitHub is a web-based platform used for version control and collaboration. It allows developers to work together on projects from anywhere in the world. GitHub is built on top of Git, a distributed version control system created by Linus Torvalds in 2005. |
18 | 18 |
|
19 | 19 | :::note |
20 | 20 | Key Features of GitHub: |
21 | | -GitHub will help you to control the version of the project on a large scale. |
22 | | - |
23 | | -GitHub offers <a href="https://github.com/pricing">Premium</a> account for use, Premium users get unlimited GitHub Repo time, Storage etc. |
24 | | - |
| 21 | +* **Repositories:** Host your code in public (open-source) or private repositories. |
| 22 | +* **Version Control:** Provides a web interface for the powerful Git version control system, allowing you to track changes to your code. |
| 23 | +* **Collaboration:** Use features like **Pull Requests**, **Issues**, and **Code Reviews** to work effectively with a team. |
| 24 | +* **Project Management:** Organize tasks, set milestones, and track progress. |
| 25 | +* **Automation:** Use **GitHub Actions** to automate your build, test, and deployment (CI/CD) workflows. |
25 | 26 | ::: |
26 | 27 |
|
27 | 28 | ## How to start with GitHub? |
28 | 29 |
|
29 | | -Whenever you create something exciting or something new on your own, you always want to show it to others. As programmers, we also want to show our projects and codes to others, but how? So GitHub is the solution, it let's people to collaborate and scale the projects all on cloud. Some other example of similar platform are Bitbucket, GitLab, Beanstalk, etc. Many of them give you the facility to work on your code together as a team. Currently, GitHub is more popular than other above-listed platforms for hosting your code. |
| 30 | +Whenever you create something exciting or something new on your own, you always want to show it to others. As programmers, we also want to show our projects and codes to others, but how? GitHub is the solution; it lets people collaborate and scale projects, all in the cloud. Some other examples of similar platforms are Bitbucket, GitLab, Beanstalk, etc. Many of them give you the tools to work on your code together as a team. Currently, GitHub is more popular than the other above-listed platforms for hosting your code. |
| 31 | + |
30 | 32 | :::info |
31 | 33 | In the picture below, you can see Developer 1, Developer 2, etc., working on the same project. Let's say they are trying to build an Amazon website; Developer 1 handles the men's shopping section, Developer 2 deals with the women's section, and Developer 3 works on the login feature. |
32 | 34 |
|
33 | | -So, each individual works on a different feature from a copy of the central repository, once the development is done they push changes to the *remote repository* (central repo as per picture). Once a code review happens and it is good to go, the senior developer will merge the code into the central repository so all the features will be live in production. |
| 35 | +So, each individual works on a different feature from a copy of the central repository. Once the development is done, they push changes to the *remote repository* (central repo as per picture). Once a code review happens and it is good to go, the senior developer will merge the code into the central repository so all the features will be live in production. |
34 | 36 | ::: |
35 | 37 |
|
36 | 38 | <BrowserWindow url="https://github.com/" bodyStyle={{padding: 0}}> |
37 | | - [](https://code.visualstudio.com/) |
38 | | - </BrowserWindow> |
39 | | - |
40 | | - |
| 39 | +  |
| 40 | + </BrowserWindow> |
41 | 41 |
|
42 | 42 | ## What is Git?? |
43 | 43 |
|
44 | | -In the above example, all the developers were able to work on different features simultaneously because of Git. For uploading your project to your GitHub account, you need to install Git first. In other words, Git helps with the version management of files and coordinates work among a diverse team in the software development phase. Git is an open-source project and developed in 2005 by Linus Torvalds and Junior. |
45 | | - |
46 | | - |
| 44 | +In the above example, all the developers were able to work on different features simultaneously because of **Git**. For uploading your project to your GitHub account, you need to install Git first. In other words, Git helps with the version management of files and coordinates work among a diverse team in the software development phase. Git is an open-source project, originally developed in 2005 by Linus Torvalds. |
47 | 45 |
|
48 | 46 | :::info |
49 | | -1. *What is Version control System?*: To understand the version control system, let me give you one example; sometimes, you wish you have a record that contains all the changes you made in your code or your project. The version control systems are software tools that record all of your changes in the files. It is like a database of changes. Git is a version control system that most developers prefer to use. We will see how you can upload your code on GitHub using Git. With VCS you can track the branch, who made changes at what time, line of code added, retrieve the previous version of changes. |
50 | | -2. Basic Git Terminology:: |
51 | | - |
52 | | - | Keyword | Terminology | Description | |
53 | | - | --- | --------------- | -------------------- | |
54 | | - | VCS | Version Control System | Track changes to a collection of files | |
55 | | - | SCM | Software configuration Management | Another name for VCS,earlier versions of VCS, like CVS and SVN, used a centralized server, which caused a single point of failure. | |
56 | | - | DVCS | Distributed Version Control System| Git is distributed, the project history is stored both in client and server. Means you can make changes locally and remote. | |
57 | | - | Working Tree | Tree | Current version of files where the active project is on | |
58 | | - | Repo | Repository | Top of the working tree where Git keeps all records and history. | |
59 | | - | Bare repo | | Not part of working Tree ends with .git, eg. backup.git | |
60 | | - | Hash | 160 bit long SHA-1 | Based on the hash number, the file has been modified or not. | |
61 | | - | Object | Git has 4 objects | Tree Object(directory, names), Blob Object(main file), Commit Object(specific versions), Tag(name attached to commit) | |
62 | | - | Commit | | Makes Changes | |
63 | | - | Branch | A series of linked commits | The most recent commit is called Head. | |
64 | | - | Remote | | reference to other git repo | |
65 | | - | | Git Command | Check this tutorial |
| 47 | +**What is a Version Control System?** |
| 48 | + |
| 49 | +To understand the version control system, let me give you one example: sometimes, you wish you had a record that contains all the changes you made in your code or your project. Version control systems (VCS) are software tools that record all the changes you make to files. It is like a database of changes. Git is the version control system that most developers prefer to use. We will see how you can upload your code on GitHub using Git. With a VCS, you can track branches, see who made changes (and when), review added lines of code, and retrieve previous versions of changes. |
| 50 | + |
| 51 | +**Basic Git Terminology:** |
| 52 | + |
| 53 | +| Keyword | Terminology | Description | |
| 54 | +| --- | --- | --- | |
| 55 | +| VCS | Version Control System | Tracks changes to a collection of files. | |
| 56 | +| SCM | Software Configuration Management | Another name for VCS. Earlier versions, like CVS and SVN, used a centralized server, which caused a single point of failure. | |
| 57 | +| DVCS | Distributed Version Control System| Git is distributed; the project history is stored on both the client and the server. This means you can make changes locally and remotely. | |
| 58 | +| Working Tree | Tree | The current set of files you are actively working on. | |
| 59 | +| Repo | Repository | A directory (usually `.git`) where Git keeps all project records and history. | |
| 60 | +| Bare repo | | A repository used for sharing; it contains no working tree (no editable files). | |
| 61 | +| Hash | | A unique 40-character (SHA-1) identifier for a specific commit, tree, or blob (file content). | |
| 62 | +| Object | Git has 4 objects | **Blob** (file content), **Tree** (directory structure), **Commit** (a snapshot in time), **Tag** (a name attached to a commit). | |
| 63 | +| Commit | | A snapshot of the repository at a specific point in time. | |
| 64 | +| Branch | | A lightweight, movable pointer to a specific commit. `HEAD` is the pointer to your current branch. | |
| 65 | +| Remote | | A reference to another Git repository, typically on a server like GitHub. | |
66 | 66 |
|
67 | 67 | ::: |
68 | 68 |
|
69 | 69 | ## Why Learn GitHub? |
70 | 70 |
|
71 | | -GitHub simplifies the command-line interface of Git and makes it more GUI-friendly. GitHub is built on top of Git. Here want we do is staging the files and doing the commit, You can clone the entire repository, create a branch, commit to that branch, and then ask the main developer to merge the branch. When you clone in reality you are creating a copy of the real code/repository in your local environment. |
| 71 | +GitHub simplifies the command-line interface of Git and makes it more GUI-friendly. GitHub is built on top of Git. Here, what we do is stage files and make commits (using Git), and then push those commits to GitHub. You can clone an entire repository, create a branch, commit to that branch, and then ask the main developer to merge the branch via a Pull Request. When you clone, in reality, you are creating a copy of the remote repository in your local environment. |
72 | 72 |
|
73 | 73 |  |
74 | 74 |
|
75 | | - |
76 | 75 | :::info |
77 | | -1. Basic GitHub Keywords:: |
78 | | - |
79 | | - | Category | Description | |
80 | | - | --- | -------------------- | |
81 | | - | Issues | The place where new suggestions or development ideas can be added. | |
82 | | - | Discussions | Place where a community discussion can happen | |
83 | | - | Pull requests | PR - Once the user worked on the issue, they can develop the feature and ask to merge | |
84 | | - | Labels | Feature to categorise the issue, like bug, deadline, feature | |
85 | | - | Actions | To automate the entire process of repeitive task on GitHub | |
86 | | - | Forks | Cloning the original repo to your name | |
| 76 | +**Basic GitHub Keywords:** |
87 | 77 |
|
| 78 | +| Category | Description | |
| 79 | +| --- | --- | |
| 80 | +| Issues | The place where new suggestions, bugs, or development ideas can be added and tracked. | |
| 81 | +| Discussions | A forum for community discussion about the project. | |
| 82 | +| Pull requests | PR - When a user has finished working on a feature (often from an issue), they can "request" to merge their changes into the main codebase. | |
| 83 | +| Labels | Tags to categorize issues and pull requests (e.g., `bug`, `documentation`, `feature`). | |
| 84 | +| Actions | A tool to automate repetitive tasks in your workflow (like testing and deploying) directly on GitHub. | |
| 85 | +| Forks | A personal, server-side copy of another user's repository that you create under your own account. This allows you to experiment freely without affecting the original project. | |
88 | 86 |
|
89 | | -The fork is a personal copy of the repo which is already present or uploaded in GitHub by a different user. Once you fork and make changes to the repository the changes will happen to your forked repo, not the real one. |
| 87 | +A fork is a personal copy of a repo that is already present on GitHub. Once you fork a repository and make changes, the changes will happen to your forked repo, not the original one. |
90 | 88 |
|
91 | 89 | ::: |
92 | 90 |
|
93 | | - |
94 | | - |
95 | 91 | ### Watch the video Tutorial |
96 | | -<iframe width="880" height="480" src="https://www.youtube.com/embed/GrTV59Y84S8?list=PLrLTYhoDFx-kiuFiGQqVpYYZ56pIhUW63" title="How to start with GitHub in 2024 | Beginner's Guide" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> |
97 | | - |
98 | | - |
| 92 | +<iframe width="880" height="480" src="https://www.youtube.com/embed/VIDEO_ID_HERE" title="How to start with GitHub in 2024 | Beginner's Guide" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> |
99 | 93 |
|
100 | 94 | ## Conclusion |
101 | 95 |
|
102 | | -If you think this GitHub Tutorial starter kit for Beginner was useful to you, then don’t forget to share it with others. We will discuss this in detail in the next post. or In the next post, we will discuss how to upload your project to your GitHub account using Git. |
| 96 | +If you think this GitHub Tutorial starter kit for beginners was useful to you, then don’t forget to share it with others. In the next post, we will discuss how to upload your project to your GitHub account using Git. |
0 commit comments