cs-self-learning/必学工具/Git/index.html

2096 lines
No EOL
47 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-8.1.11">
<title>Git - CS自学指南</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.50e68009.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.e6a45f82.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../..",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="" data-md-color-primary="none" data-md-color-accent="none">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#git" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="CS自学指南" class="md-header__button md-logo" aria-label="CS自学指南" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
CS自学指南
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Git
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/pkuflyingpig/cs-self-learning/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="CS自学指南" class="md-nav__button md-logo" aria-label="CS自学指南" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
</a>
CS自学指南
</label>
<div class="md-nav__source">
<a href="https://github.com/pkuflyingpig/cs-self-learning/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
前言
</a>
</li>
<li class="md-nav__item">
<a href="../../CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/" class="md-nav__link">
一个仅供参考的CS学习规划
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" checked>
<label class="md-nav__link" for="__nav_3">
必学工具
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="必学工具" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
必学工具
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../%E7%BF%BB%E5%A2%99/" class="md-nav__link">
翻墙
</a>
</li>
<li class="md-nav__item">
<a href="../Vim/" class="md-nav__link">
Vim
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Git
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Git
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#git" class="md-nav__link">
为什么使用Git
</a>
</li>
<li class="md-nav__item">
<a href="#git_1" class="md-nav__link">
如何学习Git
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../Github/" class="md-nav__link">
Github
</a>
</li>
<li class="md-nav__item">
<a href="../Makefile/" class="md-nav__link">
Makefile
</a>
</li>
<li class="md-nav__item">
<a href="../CMake/" class="md-nav__link">
CMake
</a>
</li>
<li class="md-nav__item">
<a href="../Latex/" class="md-nav__link">
Latex
</a>
</li>
<li class="md-nav__item">
<a href="../Docker/" class="md-nav__link">
Docker
</a>
</li>
<li class="md-nav__item">
<a href="../tools/" class="md-nav__link">
实用工具箱
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/" class="md-nav__link">
好书推荐
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5">
数学基础
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数学基础" data-md-level="1">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
数学基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/" class="md-nav__link">
MIT18.01/18.02: Calculus
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/" class="md-nav__link">
MIT18.06: Linear Algebra
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/" class="md-nav__link">
MIT6.050J: Information theory and Entropy
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6">
数学进阶
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数学进阶" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
数学进阶
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/" class="md-nav__link">
UCB CS70: discrete Math and probability theory
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/" class="md-nav__link">
UCB CS126: probability theory
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/" class="md-nav__link">
MIT 6.042J: Mathematics for Computer Science
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/" class="md-nav__link">
MIT18.330: Introduction to numerical analysis
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/" class="md-nav__link">
Standford EE364A: Convex Optimization
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/" class="md-nav__link">
The Information Theory, Patter Recognition, and Neural Networks
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7">
编程入门
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="编程入门" data-md-level="1">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
编程入门
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/" class="md-nav__link">
MIT-Missing-Semester
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/" class="md-nav__link">
Harvard CS50: This is CS50x
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/" class="md-nav__link">
UCB CS61A: Structure and Interpretation of Computer Programs
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/" class="md-nav__link">
Stanford CS106L: Standard C++ Programming
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/" class="md-nav__link">
Stanford CS110L: Safety in Systems Programming
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8">
电子基础
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="电子基础" data-md-level="1">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
电子基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/" class="md-nav__link">
EE16A&B: Designing Information Devices and Systems I&II
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/" class="md-nav__link">
UCB EE120 : Signal and Systems
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/" class="md-nav__link">
MIT 6.007 Signals and Systems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9">
数据结构与算法
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据结构与算法" data-md-level="1">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
数据结构与算法
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/" class="md-nav__link">
UCB CS61B: Data Structures and Algorithms
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/" class="md-nav__link">
Coursera: Algorithms I & II
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/" class="md-nav__link">
Stanford CS106B/X
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/" class="md-nav__link">
UCB CS170: Efficient Algorithms and Intractable Problems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10">
软件工程
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="软件工程" data-md-level="1">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
软件工程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/" class="md-nav__link">
MIT 6.031: Software Construction
</a>
</li>
<li class="md-nav__item">
<a href="../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/" class="md-nav__link">
UCB CS169: software engineering
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
<label class="md-nav__link" for="__nav_11">
体系结构
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="体系结构" data-md-level="1">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
体系结构
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/" class="md-nav__link">
Coursera: Nand2Tetris
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/" class="md-nav__link">
UCB CS61C: Great Ideas in Computer Architecture
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/" class="md-nav__link">
CMU 15-213: CSAPP
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_12" type="checkbox" id="__nav_12" >
<label class="md-nav__link" for="__nav_12">
操作系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="操作系统" data-md-level="1">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
操作系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/" class="md-nav__link">
MIT 6.S081: Operating System Engineering
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/" class="md-nav__link">
UCB CS162: Operating System
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_13" type="checkbox" id="__nav_13" >
<label class="md-nav__link" for="__nav_13">
并行与分布式系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="并行与分布式系统" data-md-level="1">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
并行与分布式系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/" class="md-nav__link">
CMU 15-418/Stanford CS149: Parallel Computing
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/" class="md-nav__link">
MIT 6.824: Distributed System
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_14" type="checkbox" id="__nav_14" >
<label class="md-nav__link" for="__nav_14">
计算机系统安全
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机系统安全" data-md-level="1">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
计算机系统安全
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/" class="md-nav__link">
UCB CS161: Computer Security
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/" class="md-nav__link">
MIT 6.858: Computer System Security
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_15" type="checkbox" id="__nav_15" >
<label class="md-nav__link" for="__nav_15">
计算机网络
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机网络" data-md-level="1">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
计算机网络
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/" class="md-nav__link">
Computer Networking: A Top-Down Approach
</a>
</li>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/" class="md-nav__link">
Stanford CS144: Computer Network
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_16" type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16">
数据库系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据库系统" data-md-level="1">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
数据库系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/" class="md-nav__link">
UCB CS186: Introduction to Database System
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/" class="md-nav__link">
CMU 15-445: Database Systems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_17" type="checkbox" id="__nav_17" >
<label class="md-nav__link" for="__nav_17">
编译原理
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="编译原理" data-md-level="1">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
编译原理
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/" class="md-nav__link">
Stanford CS143: Compilers
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18" type="checkbox" id="__nav_18" >
<label class="md-nav__link" for="__nav_18">
计算机图形学
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机图形学" data-md-level="1">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
计算机图形学
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/" class="md-nav__link">
GAMES101
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_19" type="checkbox" id="__nav_19" >
<label class="md-nav__link" for="__nav_19">
Web开发
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Web开发" data-md-level="1">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
Web开发
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Web%E5%BC%80%E5%8F%91/mitweb/" class="md-nav__link">
MIT web development course
</a>
</li>
<li class="md-nav__item">
<a href="../../Web%E5%BC%80%E5%8F%91/CS142/" class="md-nav__link">
Stanford CS142: Web Applications
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_20" type="checkbox" id="__nav_20" >
<label class="md-nav__link" for="__nav_20">
数据科学
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据科学" data-md-level="1">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
数据科学
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/" class="md-nav__link">
UCB Data100: Principles and Techniques of Data Science
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_21" type="checkbox" id="__nav_21" >
<label class="md-nav__link" for="__nav_21">
人工智能
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="人工智能" data-md-level="1">
<label class="md-nav__title" for="__nav_21">
<span class="md-nav__icon md-icon"></span>
人工智能
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/" class="md-nav__link">
Harvard CS50s Introduction to AI with Python
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/" class="md-nav__link">
UCB CS188: Introduction to Artificial Intelligence
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/" class="md-nav__link">
智能计算系统
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_22" type="checkbox" id="__nav_22" >
<label class="md-nav__link" for="__nav_22">
机器学习
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="机器学习" data-md-level="1">
<label class="md-nav__title" for="__nav_22">
<span class="md-nav__icon md-icon"></span>
机器学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/" class="md-nav__link">
Coursera: Machine Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/" class="md-nav__link">
Stanford CS229: Machine Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/" class="md-nav__link">
UCB CS189: Introduction to Machine Learning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_23" type="checkbox" id="__nav_23" >
<label class="md-nav__link" for="__nav_23">
深度学习
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="深度学习" data-md-level="1">
<label class="md-nav__title" for="__nav_23">
<span class="md-nav__icon md-icon"></span>
深度学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/" class="md-nav__link">
Coursera: Deep Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/" class="md-nav__link">
台湾国立大学:李宏毅机器学习
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/" class="md-nav__link">
Stanford CS231n: CNN for Visual Recognition
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/" class="md-nav__link">
Stanford CS224n: Natural Language Processing
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/" class="md-nav__link">
Stanford CS224w: Machine Learning with Graphs
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/" class="md-nav__link">
UCB CS285: Deep Reinforcement Learning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_24" type="checkbox" id="__nav_24" >
<label class="md-nav__link" for="__nav_24">
机器学习进阶
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="机器学习进阶" data-md-level="1">
<label class="md-nav__title" for="__nav_24">
<span class="md-nav__icon md-icon"></span>
机器学习进阶
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/" class="md-nav__link">
进阶路线图
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/" class="md-nav__link">
CMU 10-708: Probabilistic Graphical Models
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/" class="md-nav__link">
Columbia STAT 8201: Deep Generative Models
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/" class="md-nav__link">
U Toronto STA 4273 Winter 2021: Minimizing Expectations
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/" class="md-nav__link">
Stanford STATS214 / CS229M: Machine Learning Theory
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../%E5%90%8E%E8%AE%B0/" class="md-nav__link">
后记
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#git" class="md-nav__link">
为什么使用Git
</a>
</li>
<li class="md-nav__item">
<a href="#git_1" class="md-nav__link">
如何学习Git
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/pkuflyingpig/cs-self-learning/edit/master/docs/必学工具/Git.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
</a>
<h1>Git</h1>
<h2 id="git">为什么使用Git</h2>
<p>Git是一款分布式的代码版本控制工具Linux之父Linus嫌弃当时主流的中心式的版本控制工具太难用还要花钱就自己开发出了Git用来维护Linux的版本给大佬跪了</p>
<p>Git的设计非常优雅但初学者通常因为很难理解其内部逻辑因此会觉得非常难用。对Git不熟悉的初学者很容易出现因为误用命令将代码给控制版本控制没了的状况好吧是我</p>
<p>但相信我和Vim一样Git是一款你最终掌握之后会感叹“它值得”的神器。</p>
<h2 id="git_1">如何学习Git</h2>
<p>和Vim不同我不建议初学者在一知半解的情况下贸然使用Git因为它的内部逻辑并不能熟能生巧而是需要花时间去理解。我推荐的学习路线如下</p>
<ul>
<li>阅读这篇<a href="https://missing.csail.mit.edu/2020/version-control/">Git tutorial</a></li>
<li>阅读这本开源书籍<a href="https://git-scm.com/book/en/v2">Pro Git</a>的Chapter1 - Chapter5是的没错学Git需要读一本书捂脸</li>
<li>此时你已经掌握了Git的原理和绝大部分用法接下来就可以在实践中反复巩固Git的命令了。但用好它同样是一门哲学我个人觉得这篇<a href="https://chris.beams.io/posts/git-commit/">如何写好 Commit Message</a>的博客非常值得一读。</li>
<li>好的此时你已经爱上了Git你已经不满足于学会它了你想自己实现一个Git巧了我当年也有这样的想法<a href="https://wyag.thb.lt/">这篇tutorial</a>可以满足你!</li>
<li>什么光实现一个Git无法满足你小伙子/小仙女有前途巧的是我也喜欢造轮子这两个Github项目<a href="https://github.com/danistefanovic/build-your-own-x">build-your-own-x</a><a href="https://github.com/tuvtran/project-based-learning">project-based-learning</a>收录了你能想到的各种造轮子教程比如自己造个编辑器、自己写个虚拟机、自己写个docker、自己写个TCP等等等等。</li>
</ul>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../Vim/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Vim" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Previous
</span>
Vim
</div>
</div>
</a>
<a href="../Github/" class="md-footer__link md-footer__link--next" aria-label="Next: Github" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Next
</span>
Github
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../../assets/javascripts/workers/search.092fa1f6.min.js"}</script>
<script src="../../assets/javascripts/bundle.5a9542cf.min.js"></script>
</body>
</html>