How to use GitHub efficiently
Published: 04 Mar 2012
It is GitHub that makes social programming a reality. This article attempts to talk about GitHub's culture, skills, and impact.
- Q1: What is GitHub?
- Q2: GitHub Style
- Q3: How to Learn From cool people on GitHub
- Q4: Enjoy pure writing and presentation
- Q5: Code helps you find a job
- Q6: what is the impact of GitHub?
- Q7: In addition to GitHub, what else can I choose?
Q1: What is GitHub A1: A company
Located in San Francisco, founded in April 2008 by Chris wanstrath, PJ hyett, and Tom Preston-Werner. So far, it has 59 full-time employees, mainly providing Git-based version hosting services.
Previously, it was a Project hosted by Tom and Chris at a local programmer gathering. As every great legend begins to take an adventure, how does Tom quit Microsoft's 0.3 million-year salary invitation in this article? I started GitHub and said:
When I get old and look back on my life, I want to say, "Wow, it's an adventure." Instead, "Wow, I'm really safe. "
Another founder, Chris, also described in detail the cause and effect of GitHub's startup. He said:
Do whatever you want.
As a result, GitHub was formally established on July 15, April 10, 2008.
At present, it seems that the GitHub adventure has won. According to the description on GitHub from Wikipedia, We can visually see the growth rate of GitHub:
Today, GitHub is:
- A community with 1.43 million developers. Among them, there are some top hackers like Torvalds, the inventor of Linux, and young geeks like DHH, the founder of rails.
- The most popular open-source hosting service on this planet. Currently, 4.31 million git projects are hosted, and more well-known open-source projects are migrated to GitHub, such as Ruby on Rails, jquery, Ruby, Erlang/OTP. popular open-source libraries in the past three years are often launched in GitHub, example: Bootstrap, node. JS and coffescript.
- Alexa ranks 414 in the world.
Q2: GitHub style A2: GitHub is only GitHub
Entrepreneurial teams that emphasize agile development and quick prototyping and are successful often have an important temperament: they have their own cultural styles. For example, GitHub, 37 signals. Through their rapid development, they have proved the technical capabilities of the team to users and are often pleasantly surprised. At the same time, by emphasizing the maverick culture, the trust in product communities with a short half-life will be converted into trust in the GitHub team.
Founder of gravatars (yes, the most popular Avatar hosting system on the Internet), author of Jekyll (yes, it is the blog system I have used in recent years), and founder of GitHub, the current CTO Tom learned 10 lessons in the first year of GitHub and talked about all aspects of GitHub culture in his startup school speech. I try to summarize this style as follows:
- Focus on creation and High Creativity
- Good operation and high internal and external satisfaction
- High profits, low financing amount or zero financing
Start-ups mostly die in money. Let's start with money:
High profits, low financing amount or zero financing
Is it difficult for companies like GitHub to obtain venture capital? On the contrary, founder PJ hyett mentioned in a comment on Hacker News that he has been communicating with dozens of VC since GitHub was founded. However, till today, GitHub's financing amount is still zero and we are proud of it. Let's take a look at the GitHub website's self-introduction:
Good operation and high internal and external satisfaction
Someone asked on Quora whether GitHub was looking for an acquisition ?, Or PJ hyett. His answer is: no.
GitHub has been operating well since the very beginning, and its employees have a high degree of satisfaction. Let's look at these different practices:
- Every new employee from GitHub will post an official blog.
- There is no manager in GitHub, And the requirement content and priority are determined by the project team.
- Select your work time and place.
- Employees are from the open-source community.
- Open source.
Passionate and creative employees have made GitHub widely recognized by the community, thus having extremely high customer satisfaction and making profits from the very beginning of the business. An early survey showed that GitHub soon became the preferred choice for Git hosting.
Focus on creation and High Creativity
Only 29 full-time github59 employees work locally! Not only is the work location arrangement creative, but the GitHub employee Holman gave a detailed introduction to GitHub's work methods:
- Time does not indicate anything
- Asynchronous Working Mode
- Creativity is important
Q3: on GitHub, how to learn A3 from cool people: deliberately practice and follow cool people in the Learning Area
Practice: Focus on the words and deeds of the master, follow the actions of the master, practice with the master, understand the artistic conception of the master, and become a real master.
As this Zen poem says, instead of looking up at the ox in the wall, it is better to go directly to GitHub:
- Watch, fork ox people
- Submit pull request to their project
- Take the initiative to write a wiki or submit test cases or problems for a project
- You can also help them translate Chinese.
GitHub itself is built on git, and git is a necessary tool to hook up with masters. the following books are the first choice:
- Git vernacular entry, with deep content
- Why is GIT better than X...
If you want to go further, you can read the materials of the Chinese translation version:
- Progit: schacon, A GitHub evangelist, has been translated into multiple languages. Of course, there is a Chinese version.
- Git magic: a Chinese version has been translated by volunteers.
Similarly, if you want to learn more about GitHub, The GitHub official documentation is recommended:
Where are Niu Ren?
The code library on GitHub itself: especially: javase and popular information library
GitHub official recommendation: GitHub's own official blog and GitHub employees' personal blog recommendation projects and developers
GitHub libraries mentioned on various social media, especially those mentioned on Hacker News.
Psychology research on learning often involves a term:Meta-cognition, meta-learning, meta-Knowledge. Yes, your preferences and proficiency in cognitive cognition, learning, and knowledge will make you more familiar with learning a new thing.Trace the first-hand informationFor example, the author, the founder, and the source of the original document always make it easier for you to understand the knowledge.
Exercise deliberately in the Learning Area: Use gitstats for Project Statistics
How to Learn a new programming language? -- I have already talked about deliberate exercises in the learning area:
The best way to learn programming is to deliberately practice in the learning area.
How can we monitor ourselves?
With gitstats, we can measure the workload of each project well to see the progress of our work.
The usage is as follows,
# Copy the gitstats project to the Local CD ~ /Devgit clone git: // github.com/trybeee/gitstats.gitpython ~ /Dev/gitstats/Git-stats/youproject public
The following example shows the result:
Code submissions per week:
Number of lines submitted by code per day:
If fork is another project or multi-person cooperation project, it is recommended that each person have an independent branch, and then the project maintenance personnel merge. How to create your own branch?
# Create and merge branches # git branch yourbranch # git checkout yourbranch switch to yourbranch # develop yourbranch branch, then merge with the master branch after development # git checkout master # git merge yourbranch # git branch-D yourbranch after merging and delete the local branch
How can I update the remote branch of a cow to my local branch?
# View remote # git remote # Add new branch links under the current project, such as git remote add niuren giturl... # Obtain the remote update git fetch niuren of the ox # merge the remote updates of the ox to the local branch git merge niuren/Master
Productivity tips codeshelver: Label git Libraries
If there are too many projects to observe, how can we manage them? With codeshelver, you can tag the GitHub project after installing the extension.
Gollum: Using git and GitHub for Wiki
Gollum is a git-based lightweight wiki system.
Githubwatcher: key monitoring projects
Githubwatcher is applicable to scenarios with infrequent notifications.
GitHub official resources
GitHub officially lists some useful scripts and bookmarks.
Community driver installation and configuration file
Various configuration files in GitHub emerge one after another, some common:
- Osh-my-zsh: after changing the terminal from Bash to zsh, you can consider installing the community-driven zsh configuration file, which contains multiple plug-ins. See the old zsh and oh-my-zsh
- Gitignore: officially produced by GitHub
- Yourchili: various types of Server Installation shells, such as nginx installation.
Q4: Enjoy pure writing and speech A4: Return to the initial Writing of creation
As early as 2008, technical book authors wrote through git. The following is an example:
- Node. js beginner's textbook. The Chinese version is here.
- Backbone Basics
- Sinatra tutorial
Most of the cutting-edge technology topics you can think of can be found on GitHub for training materials or open-source books.
Personal Writing is also applicable. In the ideal writing environment of the previous Article: git + GitHub + markdown + Jekyll, I have already paid special attention to these wonderful things.
Warm-tone lighting, enough-width workstation, listening to the crisp keyboard sound, based on git, GitHub, markdown and Jekyll to write, do not worry about writing waste and typographical, only focus on the most pure writing, is a kind of enjoyment. I sometimes think that if git, GitHub, markdown, Jekyll, and the author of yaml and JSON are added, these authors will re-design the text of today's Internet infrastructure, what will happen?
With jekyllbootstrap, you can quickly build a Jekyll-based Blog system on GitHub.
In addition to this simple method, there are also some other methods, such:
- Jekyll: Refer to farewell to WordPress and embrace Jekyll
- Octopress: refer to the ruby open-source project introduction (1): octopress-blog writing like a hacker
- GitHub pages: Refer to GitHub pages
With GitHub, you can enjoy a more pure and cool speech. After GitHub acquired the ordered list in 2011, it can use speakerdeck to better share the PPT document.
We can also:
- Showoff developed by Scott Chacon, a well-known GitHub missionary and progit author
- Other lecture libraries from the open-source community impress. js
Q5: Code helps you find a job. A5: GitHub is honest.
Numericr (non-GitHub staff) developed a resume Generator Based on the GitHub pages function. It is extremely simple to use. log on to the GitHub resume builder and enter your GitHub website username.
Fredwu is an active member of the Ruby Chinese community. His open-source project angel_nest is an angel investment website connected with entrepreneurs. It is suitable for beginners of Ruby to learn from the upgrade to Ruby intermediate developers, we also had a heated discussion on Hacker News. Let's take a look at his resume:
Http://resume.GitHub.com /? Fredwu
It is precisely because the code on GitHub cannot be fake, and it is easy to understand the width and depth of knowledge through the projects you pay attention. Now more and more well-known companies are active in GitHub, releasing open-source libraries and recruiting various talents, such as Facebook, Twitter, Yahoo...
At the beginning, third-party websites were available to provide GitHub-based talent recruitment services, such:
- Githire: You can find programmers in your region.
- Gitalytics.com: evaluates the influence of a programmer on multiple websites such as GitHub, LinkedIn, stackoverflow, and hackernews.
Q6: what is the impact of GitHub? A6: enhancing human intelligence for computers
Many years ago, in a prestigious university, two cool people who once won the Turing Award had a conversation:
- Niu Ren A: We want to give machines wisdom and make them self-conscious!
- Niu Ren B: Do you want to do so many good deeds for machines? So what are you going to do for humans?
This conversation comes from "out of control". Niu Ren A is Minsky. He prefers to regard humans as flesh-and-blood machines. His Framework Theory has become the foundation for cognitive psychology and AI. Niu Ren B is engelbat. When Minsky published his famous article on the trend of artificial intelligence in 1961, Engelbart was still unknown. Until the following year, Engelbart published a macro article: enhancement of human intelligence: a conceptual framework. Another way to enhance human intelligence, unlike Minsky, is proposed: instead of trying to invent an automatic typing machine, it is trying to invent a mouse, and he has actually invented the mouse!
Judging from the development in recent years, Minsky still has the upper hand. However, how many years has Minsky's artificial intelligence achieved no major breakthrough in the development of Hedong and Hexi in the past thirty years? On the contrary, ideas such as group components and collective wisdom from Engelbart gradually become consensus after entering the Web2.0 era. Right or wrong. It can be said that engelbat provides a feasible framework to enhance human intelligence. Instead of inventing smart, expensive, and functional integrated intelligent robots, it is better to invent a single piece of human smart service similar to the stupid, cheap, and single-functional human smart service like a mouse. Minsky's robots are easy to fall into a dead end and have not risen to the height of philosophy. Now, I am slowly returning to the direction of engelbat. For example, cognitive computing is being promoted by IBM.
From the essence of git and GitHub's design and solution, it significantly accelerates the code production process and promotes the birth of superior intellectual products. This is a typical Web2.0 improvement on the intellectual production process and the enhancement of human intelligence. Similarly, in a sense, novel writing websites also play a similar role. However, the production of intellectual products in academia, especially in social sciences, seems to be in an old stage. In the open-source field, good ideas emerge one after another. Geeks influence geeks and ultimately produce cool playfulness. These cool games abandon the flashy nature and go straight to the essence of the problem. Is there any GitHub from the scientific community ??
Similar problems emerge one after another. The following are incomplete lists of products in other fields.
- In addition to earlier arXiv and PLoS, more meteorological users can recommend mendeley and open journal directories.
- Buzzdata: easier data sharing
- Opani: a prototype that supports R, Python, and more.
- Openstudy: a social learning network that provides better learning through mutual assistance. The theme involves computers, mathematics, and writing.
- Openhatch: helps beginners better access the open-source community through exercises and tasks
Q7: In addition to GitHub, what else can I choose? A7: Nil
Because of the need for evolution, most Naked Ape have obsessive-compulsive disorder: Which programming language is better? Which web development framework is better? Of course, the question most enviable to Otaku's technical men is: Is it better to say that Gao Bai and Yu Jie is still a young girl? : D
- Is it better for shanzhai in China? (Why not write their names? You know, shanzhai products are always good at arguing who is the first shanzhai. Their respective rankings are successively: d)
- Is a free Bitbucket more suitable for python programmers?
- As a tossing family, I don't need to build a gitlabhq by myself. Are you sorry?
We can understand that it is precisely because there are countless forks that make human beings no longer subject to certain genes, specific diseases, and authoritarian families and thus have unlimited possibilities. However, compared with the poor information in ancient times,
- In today's big data era, will it also contribute to the overall evolution of mankind as a group and individual happiness?
- Today, the experience of a 30-year-old college graduate in a first-tier city and the choice of Confucius throughout his life experience are purely quantitative. Who are more and less?
Why do you always waste your life on your choice? Punish you and read back to the TED speech by the psychologist Barry Schwartz: the confusion of choice-why is it less? One hundred times and one hundred times. Remember the highlights of Schwarz's speech:
- More choices do not mean more freedom;
- More options lead to Decision-Making delays and reduced satisfaction;
- The secret of happiness lies in lowering your expectations.
- Ideal writing environment: git + GitHub + markdown + Jekyll
- How can we improve the efficiency of creation tasks?
- Ruby open-source project introduction (1): octopress-blog writing like a hacker
- Git and GitHub getting started
- Farewell to WordPress and embrace Jekyll
From Weizhi note (wiz)