Three minutes to teach you how to use Github to find open source projects --- worth a look!

You should be familiar with GitHub, the world’s largest open source community, and the world’s largest same-sex dating site ((ง •_•)ง), but most students use GitHub through other people’s open source links, click to download the corresponding projects, and there are still a few who actually use Github to find open source projects.

There must be several projects related to the job you are looking for in the interview. If there are no projects for fresh graduates or children's shoes who have changed careers, they can only say "you are too difficult" if they rely on simple javaSE or other language foundations.

Through Github, you can easily download the projects you need, learn about real-time hot projects, and learn and improve better by learning excellent open source projects.

insert image description here

So how to use Github to efficiently find projects? This article takes you to understand 

How many warehouses are there?

  • Local repository: Create a local folder.
  • Remote repository: A folder built on a server on the Internet.

Distributed version control system

  • There are two warehouses, a local warehouse on your computer and a remote warehouse on a remote server.
  • When we submit files, we will submit them to the local warehouse first, and then submit them from the local warehouse to the remote warehouse on the network when there is a network.
  • Git is a typical distributed version control system.
  • Github plays the role of the above-mentioned remote warehouse, which is a folder stored on an external network server. And Github is a free and open source hosting platform.

What is Git

Git (pronounced /gɪt/) is an open source distributed version control system that can effectively and quickly handle project version management from small to very large.

GitHub is a hosting platform for open source and private software projects. It is named GitHub because it only supports git as the only repository format for hosting.

insert image description here

 The meaning of common words in Github

  • watch: will continue to receive the dynamics of the project
  • fock: Copy an item to your own warehouse
  • star: the number of likes, which means that the project is recognized, and the more likes the more popular the project is
  • clone: ​​download the project to the local
  • follow: Follow the authors you are interested in, and you will receive their updates

A complete project interface

insert image description here

  • ① Here is the name of the project author/project name
  • ② Here are the number of likes and focks of the project, the hotter the project, the more likes and focks will be
  • ③ The Description, Website and tags of the project are also the description and tags of the project, through which you can understand the function and introduction of the project at a glance
  • ④ The number of commits submitted by the project, generally better projects, maintenance will be more frequent, updates will be frequent, and the number of commits will be more
  • ⑤ Project submission time, through which you can see the project submission time, to prevent yourself from downloading some ancient projects
  • ⑥ README.md, README.md file is an introductory manual for a project, which introduces the use, functions, etc. of the entire project. So whether the README file is well written is related to whether this project can be understood and used more easily by others.

Use Github to search for projects

Most people use the steps of Github to search directly, select Languages ​​to set the project sorting order and download directly, and then clone the warehouse, read md, look at the source code of the project, if you don’t understand it, close the project, and delete it.

insert image description here

It's hard to find a project that really suits you.

There are many valuable open source projects and codes in GitHub. How to search for the information we need in the massive code base, then I will show you how to use GitHub's powerful search function to find the project that suits you.

GitHub Advanced Search

GitHub has an advanced search function, search/advanced can enter keywords, code base size, include author, code language, code includes suffix file name, etc.

Github search tips - find developers

Github search skills - find projects

 Here we assume that we are learning Spring Boot and we are looking for a Spring Boot Demo for reference learning.

Accurately search warehouse title, warehouse description, README

in keyword to limit the search scope

Search by project name/warehouse name (case insensitive)

official

  • in:name xxx project name contains xxx
  • in:description xxx item description contains xxx
  • in:readme xxx project introduction document contains xxx

For example, if I search for in:name Spring Boot that contains Spring Boot in the project name,
I will find that the number of projects has changed from 17W to 11W

insert image description here

 Search for projects that contain Spring Boot in ​in:description Spring Boot

insert image description here

The number of stars or forks to find

The number of stars of a project generally represents the popularity of the project. The more popular the project, the number of stars and forks must not be less.

official

  • stars:>xxx The number of stars is greater than xxx
  • stars:xx..xx The number of stars is between xx...xx
  • forks:>xxx number of forks is greater than xxx
  • forks:xx..xx number of forks is between xx…xx
 查找star数大于等于5000的springboot项目
     spring boot stars:>=5000
 查找fork数大于500的springcloud项目
     spring cloud forks:>500
 查找fork在100到200之间并且stars数在80到100之间的springboot项目
     spring boot forks:100..200 stars:80..100

We further narrow the scope, filter by the number of Stars, and require the number of Stars to be greater than 3000

in:name spring boot starts:>3000

You can see that there are only more than a thousand items for us to choose

insert image description here

Search by region and language

Many times our projects need to use the language we know. You find a good project written in Python, but you haven’t learned Python, and you can’t understand it after downloading it. At the same time, in order to better read the README.md help documents and project Note, I think many students will want to download Chinese projects, of course, please ignore the English ones.
formula

  • location: area
  • language: language
语言为javaScript   
language:javaScript   
地区为china
`location: China

If you are looking for domestic projects using the javascript language, the entire search criteria is: language:javascript. location:china, from the search results, we found more than 5 million javascript projects, and nearly 21,000 area information filled in as javascript developers in China.

insert image description here

Search by warehouse size

If you just want to find some small projects for personal learning and development, and don't want to find particularly complicated ones, then using the size keyword to find simple demos becomes your first choice.

official

  • size:>=Number [ Note: 100 represents 100Kb, the unit is Kb ]

Search based on whether the repository is updating

Looking for projects is of course to find the latest projects, not old projects that haven't been updated for a long time.

official

  • pushed:> YYYY-MM-DD The last upload date is greater than YYYY-MM-DD
  • created:> YYYY-MM-DD creation date greater than YYYY-MM-DD

For example, if we want to find the latest updated project in 2020, we can use pushed:>2020-01-03 Spring Boot, so that we can find the latest project updated after January this year.

insert image description here

Search by a person or organization

If you want to find out whether a certain master has submitted a new project on GitHub, you can perform an accurate search
formula on them

  • user:name finds a user
  • org:name finds an organization
  • followers:>xxx Find developers with more than xxx followers

For example, we want to find the python open source project of Mr. Liao Xuefeng

user:Michae1Liao language:python

insert image description here

Search according to the LICENSE of the warehouse

License is a problem that many people tend to overlook

License (Project Authorization Agreement) of open source projects Some authors of open source projects explicitly prohibit commercial use, but if you download it without knowing it and use it, it will be very troublesome.

The "very friendly" protocols are more famous: BSD, MPL (Mozilla), Apache, MIT. These agreements not only allow the users of the project to use the open source library, but some also allow the open source library to be modified and redistributed. So it's very cool to use. There are some small differences in the details of the above agreements, you can go to their official websites to have a look.

The following website introduces the differences of each license in detail.
http://choosealicense.com/licenses/

official

  • license: Corresponding agreement

For example, we are looking for code that is the most relaxed Apache License 2

license:apache-2.0 spring Boot

insert image description here

awesome enhanced search

Awesome seems to have become one of the favorite names of many GitHub projects. Awesome often integrates a large amount of information in the same field, so that everyone can learn better.

official

  • The awesome keyword awesome series is generally used to collect items related to learning, tools, and books 

For example, search for excellent python-related projects, including frameworks, tutorials, etc.

awesome python

insert image description here

awesome-python, this library provides common python library support in various fields. Looking at it as a whole, it covers almost all common computer fields.

Popular Searches (GitHub Trend and GitHub Topic)

The GitHub Trend page summarizes popular Repositories and Developers in a daily/weekly/monthly cycle, and you can see the development projects and developers that are popular in a certain cycle.

insert image description here

GitHub Topic shows the latest and most popular discussion topics, where you can not only see development projects, but also more non-development technical discussion topics.

insert image description here

Guess you like

Origin blog.csdn.net/zhangdaiscott/article/details/131310064