注意事项与声明

平台: Windows 10

作者: JamesNULLiu

邮箱: jamesnulliu@outlook.com

博客: https://www.cnblogs.com/jamesnulliu

学习笔记 转载请注明出处 欢迎留言

0. 前言

本系列文章是 git & github 的入门教程.

本系列文章优势:

  1. 零基础
  2. 深入浅出
  3. 知识点涵盖面广

本系列其他文章的链接

尽管如此, 想要真正学会 git & github 建议不要看任何教程, 直接看 git 的 官方文档.


1. GitHub

1.1. 注册 GitHub 账号

[点击跳转至注册页面]

注意:

  • 如果跳转失败, 请直接访问 https://github.com
  • DNS 污染问题请自行解决.
  • 你需要记住你的注册 邮箱, 密码 和 昵称.

1.2. GitHub 的一些设置

点击右上角头像, 再点击菜单栏的 Settings, 如下图.

这里就讲两点:

  1. Black Lives Matter 运动后 GitHub 将储存库默认分支 (Repository default branch) 的名字更改为了 main (原本是 master), 这就是为什么网上有些老教程的指令你可能运行出错. 改回 master 是可行的, 这里我们尊重该运动不做改动.
  2. 在 Account 页面里可以删除你的账号.

2. Git

2.1. Git 下载&安装

去官网下载 git.

你应当仔细阅读页面上的内容然后选择适合自己操作系统的版本下载 (或者输入指令) 安装.

Git GUI 和 bash 的区别是前者有图形交互界面, 后者只有命令行窗口. 但绝大多数情况下我们都是用命令行窗口进行工作的, 所以可以不勾选 GUI.

一路 Next 到底, 最后 Finish 关闭安装程序.

2.2. git 初始设置

找个地方建立工作区.

我在桌面建立了一个叫 project 的文件夹.

在这里点击鼠标右键, 在弹出菜单中有一个 "git bash here" 的选项. 打开 git bash, 意味着目前我的 工作文件夹 (working dictionary) 是 project 文件夹; 如果我在另一个文件夹 b 运行 git bash, 那我的 工作文件夹 (working dictionary) 就是文件夹 b.

我们要在这里强调一些概念 (这些概念必须记住):

  1. gitgithub是两个东西.

    git 是当前世界上最先进的 分布式版本控制系统, 简单来说就是记录项目开发过程中不同的版本, 当有需要时就回到先前的版本;

    github 是当前世界上非常流行的开源代码分享平台 (一个 server).

Version control (版本控制系统) is a system that records changes to a file or set of files over time so that you can recall specific versions later.

  1. 我们在 github 上创建的库准确来说是 远程储存库 (Remote Repository);
  2. 当我们 clone 一个 远程储存库 (例如 github 上有个库叫 test ) 到本地工作文件夹 (以 project 为例),

    project 内会出现一个叫 "test" 的文件夹, 本地文件夹 test 内部包含远程储存库 test 内的所有文件, 同时建立了一个 git储存库 (git repository) (git储存库本地文件夹不一样的);
  3. 对 test 内部文件的改动既不会上传到 git储存库 , 又不会上传到 远程储存库 . test 文件夹只不过是你的一个 文件夹 .
  4. 为了同步改动, 在 test 文件夹内部 打开 git bash (含义是把工作文件夹project 切换到 test 内), 然后在终端输入一系列指令将改动同步到git储存库和远程储存库.

2.3. 用户设置

设置 commit 时的用户名 (按需更改引号内内容):

$ git config --global user.name "JanesNULLiu"

设置 commit 时的用户邮箱 (按需更改引号内内容):

$ git config --global user.email "jamesnulliu@outlook.com"

如果想要对单独储存库设置单独的用户名和邮箱, 将 working dictionary 切换到该储存库的路径, 然后去掉 --global 输入上面指令就行了.

2.4. 一些简单的界面设置

右键终端上沿的 bar, 点击 options, 如下图.

Looks 栏不建议修改, 这里简单说明以下, foreground 是字体颜色(打出来的命令的颜色), backgound 是背景颜色, cursor 是屏幕上闪烁的光标, transparency 是你整个终端的透明度.

在 Text 栏中点击 select, 在弹出窗口选择你喜欢的字体和大小, 点击 确定, 然后点击 Apply 可以预览效果, 最后点击 Save 保存.

在 window 栏内可以更改窗口字符显示数量, 也就是所谓的窗口"大小".


参考:

Pro Git, 2nd Edition(2014), Scott Chacon


推荐阅读:

G&GH02 储存库创建/同步

G&GH01 注册/安装/设置的更多相关文章

  1. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  2. [0412]SQL Server 2008 R2 安装 & 设置

    SQL Server 2008 R2 安装 & 设置 Sql Server 安装 安装环境: Windows 10 1709 64位 安装文件: Sql Server 2008 R2 Sql ...

  3. MinGW安装设置

    From:http://www.cnblogs.com/killerlegend/p/3746504.html Author:KillerLegend Date:2014.5.22 不得不吐槽一下学校 ...

  4. CentOS 6.6下 BCM4312 802.11b/g无线网卡驱动安装

    1.目前www.broadcom.com网站上最新版本为hybrid-v35,但此版本与2.6.32不匹配,无法识别验证密码,搜索网上说是要求升级内核,后根据http://www.dadclab.co ...

  5. trac 的安装设置

    Trac的安装设置 原网页:http://wiki.ubuntu.org.cn/Trac%E7%9A%84%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE 出自Ubuntu中文 ...

  6. [转载]RouteOS安装设置

    原文地址:RouteOS安装设置作者:抟鹏追梦 RouteOS2.7.4可以将一台普通的PC机变成一台专业的路由器,高到ISP的核心路器/认证网关-因为它功能强大稳定,低到家庭网关防火墙-因为它免费. ...

  7. gcc、g++、gdb安装

    Windows安装 有闲工夫在Windows上安装g++/gcc/gdb,还不如装个虚拟机安装Linux,在Linux上安装 但是我还是要讲的 首先,需要安装MinGW,MinGW,是Minimali ...

  8. Tableau Server注册安装及配置详细教程

    Tableau Server注册安装及配置详细教程 本文讲解的是 Tableau Server 10.0 版本的安装及配置 这里分享的 TableauServer 安装版本为64位的10.0版本Ser ...

  9. hive安装--设置mysql为远端metastore

    作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...

随机推荐

  1. 6 分钟看完 BGP 协议。

    上一篇文章见 万字长文爆肝路由协议! 上面我们聊 RIP .OSPF 协议都是基于 AS 即自治系统内的协议,可以把它们认为是域内路由协议:而下面我们要聊的就是 AS 之间的协议了,这也叫做域间路由协 ...

  2. P2575 高手过招 题解

    题目描述 我们考虑如何把问题转换成博弈论来求解. 我们对于每一行之前都加上一个空格. 设原来这一行的空格个数是 \(C\) ,那么此时空格个数变成 \(C + 1\) . 然后按照从左到右的顺序给每一 ...

  3. JAVA中简单的for循环竟有这么多坑,你踩过吗

    JAVA中简单的for循环竟有这么多坑,你踩过吗 实际的业务项目开发中,大家应该对从给定的list中剔除不满足条件的元素这个操作不陌生吧? 很多同学可以立刻想出很多种实现的方式,但你想到的这些实现方式 ...

  4. C++指针探究

    周五听实习师父指点了一下C++的强制类型转换概念,师父说了一句"强制类型转换其实就是告诉编译器不用检查当前位置的类型,程序猿自己知道类型". 今天整理之前的学习笔记的时候又发现,在 ...

  5. 阈值PSI代码

    阈值PSI 若交集数量超过某个给定阈值时,允许分布式的各个参与方在自己集合中找到交集,且除了交集外,得不到其他额外信息. 实现论文: Multi-Party Threshold Private Set ...

  6. day11 Java反射机制

    java反射机制 反射是java中的动态机制,它允许我们在程序运行期间再确定类的实例化,方法的调用,属性的调用等,而不是传统意义上的在编码期间确定. 因此,反射可以大大的提高代码的灵活度,但是随之而来 ...

  7. React中useEffect的简单使用

    学习hooks 在 React 的世界中, 组件有函数组件和类组件 UI 组件我们可以使用函数,用函数组件来展示 UI. 而对于容器组件,函数组件就显得无能为力. 我们依赖于类组件来获取数据,处理数据 ...

  8. 膜 社论(egg drop)

    题面 \(n\) 楼 \(m\) 个鸡蛋,从 \(k\) 楼及以上扔下去会碎,不能再测试 . 问至少需要扔几次确定 \(k\) . \(n\le 10^{18}\),\(m\le 64\) . 题解 ...

  9. 清北学堂 2020 国庆J2考前综合强化 Day2

    目录 1. 题目 T1 一 题目描述 Sol T2 二 题目描述 Sol T3 三 题目描述 Sol T4 四 题目描述 Sol 2. 算法 -- 数据结构 1. 题目 T1 一 题目描述 问题描述 ...

  10. 在Centos下对高并发web框架Tornado的性能进行测试

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_89 在之前的一篇文章中,我们在1g1核的惨淡硬件环境下,对 uwsgi + django 和 gunicorn+ django 的 ...