Use GitHub well
Use GitHub well

GitHub is an online software source code hosting service platform owned by Microsoft and a community with more than 80 million developers and users. Many developers should know something about GitHub, but most non-technical people may not use it. This paper mainly introduces this platform to non-technical personnel. After reading this article, I hope more people can study, create and show their works on it.

GitHub is a good learning platform.

GitHub has many open source projects, some of which have become the software cornerstones of the IT industry, such as Linux kernel projects.

If you want to learn a software development technology, such as learning to do some data analysis with Python, then GitHub is the best learning platform. Why do you say that?

Learning first needs to find a good tutorial, and the most indispensable thing on GitHub is the tutorial project. Take Python for example. Search on GitHub, and you can easily find this awesome Python project, which collects many Python-related tutorials, projects, libraries and so on.

You can find the learning materials you want in this project. And because it is a star project with nearly150,000 stars, it is recognized by many developers, so the quality of the materials recommended above is also very high.

Of course, GitHub is not entirely in English, and there are many Chinese materials, but I still suggest using English materials as much as possible. English is a must if you want to take the road of technology.

After finding the tutorial, the next step is to develop a real project. According to the normal process, we need to configure a complex software development environment on the computer, which makes many people flinch.

But on GitHub, you can edit the code directly on the web page and submit it to GitHub, so that you can develop your project on any computer. This function is called GitHub Codespaces.

For example, the following is an open source project I am developing, which is based on Python. I can edit the code directly on the web page and submit it to GitHub.

In the red box above, you can create a free online development environment, which will be a web version of VSCode. In other words, GitHub gives you a cloud development environment (a Linux system with Root user rights, which can configure and install any software)! This development environment can always be stored in the cloud, development can continue at any time, and the files saved on it will not be deleted.

Sometimes, when you just want to read other people's code, press. Pressing the key on the GitHub web page will automatically open an online VSCode development environment, which can read and search more codes than the web page.

GitHub is a good writing platform.

Writing based on Markdown has always been my admiration. As early as ten years ago, I wrote an article on Wordpress, which provided the simplest website-building experience, so that more than 40% websites around the world were built with Wordpress, including personal blogs.

But the construction of Wordpress is still too much trouble. Although many cloud service providers in China now provide the function of building Wordpress with one click, there are still many restrictions, such as not being free, requiring filing and maintaining servers.

Writing on GitHub is very simple. You just need a GitHub account, then create a warehouse on GitHub, and then create a Markdown file in the warehouse, and you can start writing. The written content is text in Markdown format, and GitHub will automatically convert Markdown into HTML and display it on the browser.

In addition to this method, you can also use Cloudflare Pages, which can automatically deploy the contents in GitHub warehouse to the CDN of Cloudflare, so that you can use custom domain names.

If you want a better writing experience, you can also use this open source project of vuepress-theme-hope, which provides very powerful customization ability, but it is very simple to use. For example, I used it to build a document website on GitHub: free4chat Development Notes.

At the bottom of every page, there is a button to edit this page on GitHub. After clicking, you can modify this page directly on GitHub, submit it after modification, and GitHub will automatically rebuild the website, and then you can see the modified content on the website.

Since GitHub's warehouse will automatically save the history of each modification, if there is an error, you can go back to the previous version without worrying about data loss.

GitHub is a good development platform.

GitHub is the best development platform. I believe you can see from the above that GitHub has made many improvements around the search, reading and development experience of software. Even a browser can complete the development, testing and deployment of software products. This article will not introduce all the functions of GitHub in detail, but the following functions are worth a try:

1, GitHub Codespaces: provides an online cloud IDE, which can directly edit the code in the browser and then compile, run and debug the code in the cloud, which is very convenient.

2, github copy: provides online AI code auto-completion function, which can automatically complete your code according to the context, even including blogging! Part of this article was automatically written by this AI assistant. Can you see it? )

3.GitHub Action: Provide pipeline CI/CD service in code form. For example, it can automatically send notifications to subscribers when blog articles are updated, and my blog has also achieved similar functions. See this file:. Github/workflows/gh-pages.yml for details.

4.GitHub package: Provides package management functions similar to Docker Hub.

Most importantly, many of these functions provide a free quota, which is enough for daily use. All you have to do is to create and use technical levers to realize your ideas.

Using GitHub to Build Personal Technical Influence

Creating personal technical influence may be one of the main reasons why many developers create various open source projects on GitHub for free. And technical influence can give developers more opportunities, such as getting more job opportunities and influencing more people.

On GitHub, you can find many amazing people, such as the front-end boss ANFUR and the author of the elixir, JoséValim. By paying attention to the dynamics of these people, you can understand the latest technological trends and constantly improve your technical ability.

GitHub is also a good technology display platform. You can show your technology stack by creating your own GitHub profile, such as my GitHub profile. You can also use this tool GitHub Profile README Generator to generate your own GitHub configuration file.

Ecology based on GitHub

GitHub has a huge ecosystem with which many SaaS services can be integrated to provide a perfect development experience, such as:

1, SSO: Many technical websites provide SSO integration of GitHub, especially websites related to SaaS services of developers. If you want to use these services, you must have a GitHub account.

2.Cloudflare: the most popular CDN in the world. After integration with GitHub, Cloudflare pages can be deployed automatically. When the code is pushed to GitHub, Cloudflare will automatically publish the website to the global network node of Cloudflare.

3.Vercel: Like Cloudflare Pages, after integrating GitHub, the website can be automatically deployed to Vercel's CDN network. Some of my gadgets are deployed on Vercel.

4. Railway: provide back-end services, including database hosting. After integrating GitHub, it can be automatically deployed and applied to railway servers.

These SaaS services also provide some free quotas, which can be used lightly and many small projects can be done for free.

GitHub Next

GitHub Next is exploring some directions that can affect the future of software development. At present, there are several interesting directions:

1, AI: or deep learning mode is gradually changing the world. For example, GitHub Copilot is based on the deep learning model to realize the function of automatic code completion. In the future, it is not impossible to refactor code based on GitHub Copilot, write automated tests and pair programming with developers. Of course, it is natural for AI to help us write articles or co-write articles.

2. Voice programming: If you can communicate with GitHub Copilot through natural language, then programming will become as simple as building blocks, and some basic functions can be realized through voice without writing code. It is incredible to think about it, and there is even a feeling that Tony Stark and Jarvis are talking about making Iron Man armor.

3. Collaboration: Because of the epidemic, remote work is becoming more and more popular (or needed), and there is no better way to write code remotely in pairs. It is an interesting field to solve how many people collaborate in the same code base in real time.

4. Interactive documents: Although GitHub now supports Markdown very well, this support is still static. How to make the document interactive and expressive is also a direction worthy of further exploration.

Although I have registered GitHub for many years, I have gradually invested more and more time in it in recent years. Especially in the past two years, I feel that GitHub is gradually changing the conventional mode of software development.

In particular, the emergence of GitHub Copilot, as well as one-stop development experience, and even the design, development, testing and deployment of future code can be completed on GitHub web pages, which I never imagined before.

I hope this article will give readers a new understanding of GitHub. If you haven't registered GitHub, please register one.