原文链接:点我

首先新司机接触 Git 和 Github 可能会搞不清楚两者之间的关系,这里稍微解释一下:

1.Git是一款免费、开源的分布式版本控制系统

2.Github是用Git做版本控制的代码托管平台

本地仓库
主要介绍:

  • 创建本地仓库
  • 查看当前项目状态
  • 仓库状态
  • 添加
  • 添加文件后仓库当前状态
  • 提交(快照)
  • 添加所有.txt类型文件并快照
  • 查看日志

建立本地仓库
(注意此处忽略选择目录,也就是说在现实操作中我们需要新建或跳转到我们选择的文件夹,来建立本地仓库)

可以看到命令执行后在当前目录下出现一个.git目录,是Git用来跟踪管理版本库的。

查看当前项目状态
创建完本地仓库,先查看下当前项目状态

可以看到现在是处于master分支,master分支都是最终版本的代码,所以后面涉及到协同工作中其他分支merge到master分支概念,后再提。

仓库状态
1.3是添加和快照,这里我们可以看到Trygithub已经给我们创建好的一个txt文档。这时候再执行git status查看此时创建一个txt后仓库会有的状态状态。

这里我们看到,仓库状态显示,一个没有被跟踪到的文件“octocat.txt”,并尚未提交。

添加
这里的git add命令是为了让文件添加到Git暂存区,其实也就是让git知道有个新文件添加进来了。
暂存区和工作区概念可参考 git工作区和暂存区

查看添加文件后仓库当前状态


这里可以看到仓库当前状态为
已经提交修改
新文件:octocat.txt

提交(快照)
这里commit有的地方叫提交,有的地方叫快照,但都是一个意思。
这里

  1. git commit -m "你的注释"

实际上操作是将暂存区的的文件提交到当前分支。
但简单来说,也可以理解为我们每次对项目做修改时都需要有一个注释(快照)。这样使得我们在以后再看我们的项目时知道我们当时修改了什么东西。

添加所有.txt类型文件并快照


这里可以发现,只要是.txt格式的文件,无论是在octofamily目录下还是根目录下都被添加

查看日志
到目前为止已经执行了两个git commit命令,此时我们想看一下我们已经有的所有快照,于是执行git log 命令。

到此为止,在本地仓库所做的所有工作结束。

远程仓库
主要介绍:

  • 链接远程仓库
  • pull&push
  • 差异
  • 撤销
  • 分支操作
  • 合并
  • push

远程仓库

这里要做的是将你的本地仓库与GitHub上远程仓库链接起来。

这个工作的主要意义是,将你的修改提交到远程仓库(pull),也可以将别人的修改从远程仓库拉到自己的本地仓库里(push),以便共享。

但首先你要有个自己的GitHub账号,并建好remote repository。

需注意,本地Git仓库和GitHub仓库之间的传输是通过SSH加密的。这里需要做:

  • 打开终端(windows打开 Git bash),输入 ssh-keygen -t rsa -C "你的邮件地址",一路回车,使用默认值即可。
  • 跳转到.ssh目录
  • 发现里面有id_rsa.pub和 id_rsa.pub文件。这两个就是SSH Key的秘钥对,其中id_rsa是私钥,不能泄露。id_rsa.pub是公钥,可以放心地告诉任何人。
  • more id_rsa.pub,打开id_rsa.pub文件,复制。
  • 登陆GitHub,找到Account settings-SSH Keys-Add SSH Key,Title随便写,文本框粘贴。(Key开头为ssh-rsa)

这里进入你想要作为远程仓库的repository的界面,在

Clone or download得到你所要链接的远程仓库 URL。

在1.10中,它所提供的https://github.com/try-git/try_git.git 即为需要连接的远程仓库 URL。

pull & push
上传本地仓库内容至远程
git push -u origin master
第一次推送master分支时,加上了-u参数,在以后的推送或者拉取时就可以简化命令。

拉取远程仓库中别人的修改
git pull origin master

差异
查看在最后一次提交之后的所有变更git differ HEAD


查看添加(add)而并未提交(commit)的变更 git differ --staged


撤销
此处详细介绍了git reset 的使用
改变暂存区的快照,工作区无变化
git checkout -- file的使用
改变工作区的快照

分支操作
创建分支clean_up: git branch clean_up
跳转分支clean_up:git checkout clean_up

此时可见on branch clean_up处于分支clean_up

删除分支中所有.txt类型文件:git rm '*.txt'

此时可见下方目录中所有*.txt类型文件都被删除

在分支进行删除操作依旧需要提交快照:git commit -m "Remove all the cats"

合并(merge)
跳转回master分支,发现*.txt类型文件依旧存在:git branch master

执行合并,将在clean_up分支上的修改合并到master上:git merge clean_up


删除分支clan_up:git branch -d clean_up

push
完成远程仓库中所git push

通俗易懂的Git使用入门教程的更多相关文章

  1. Git简单入门教程

    1.下载Git,360的软件管家里搜 2.安装Git,下载好之后安装到指定路径下 安装方法有多个复选框的把第一个也选上,其他默认直接next,最后一步什么都不选 3.配置用户信息:(右键-->g ...

  2. mac os x使用Git简易入门教程

    具体如下: 1, 首先要了解什么是Git. 简而言之,Git是一个分布式的代码版本管理工具.类似的常用工具还有SVN,CVS. 概念了解参见:http://baike.baidu.com/subvie ...

  3. git 入门教程

    git 入门教程之协同开发 前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协 ...

  4. 廖雪峰Git入门教程

    廖雪峰Git入门教程  2018-05-24 23:05:11     0     0     0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...

  5. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  6. Git 极简入门教程学习笔记

    Git 极简入门教程  http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...

  7. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  8. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  9. [转]Scrapy入门教程

    关键字:scrapy 入门教程 爬虫 Spider 作者:http://www.cnblogs.com/txw1958/ 出处:http://www.cnblogs.com/txw1958/archi ...

随机推荐

  1. [JZOJ 5437] [NOIP2017提高A组集训10.31] Sequence 解题报告 (KMP)

    题目链接: http://172.16.0.132/senior/#main/show/5437 题目: 题解: 发现满足上述性质并且仅当A序列的子序列的差分序列与B序列的差分序列相同 于是我们把A变 ...

  2. js小结2

    1.includes和contains 对于字符串,数组来说,判断包含是includes,对classList是contains 2.编辑span内容,enter提交(如何避免keydown之后换行: ...

  3. LCD中如何描绘点阵数据

    下载软件“液晶汉字点阵zimo21” 描绘数据 打开软件后,新建图像-取模方式选择C51(A51和C51区别就是,A-F开头要加0,例如0x0AF)-模拟动画中放大格点-描绘图像-点阵生成区 对获得数 ...

  4. requests 后续1

    发送带数据post请求 import requests # 发送post请求 data = { } response = requests.post(url, data=data) # 内网 需要 认 ...

  5. schema文件及XML文件的DOM和Sax解析

    schema文件 <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="htt ...

  6. LaTex的几种数学符号字体以及相关说明

    \mathrm is the normal upright Roman font \mathnormal is the normal math italic font: $\mathnormal{a} ...

  7. django 开发之给admin 模块添加富文本编辑器

    第一步下载kindeditor  http://kindeditor.net/demo.php 下载下来后放到静态文件static 下面的js下面 接着在admin 模块文章类下引入这富文本编辑器: ...

  8. 你可能需要了解下Laravel集合

    前言 集合通过 Illuminate\Support\Collection 进行实例,Laravel的内核大部分的参数传递都用到了集合,但这并不代表集合就是好的.Laravel作为快捷并优雅的开发框架 ...

  9. ASP.NET-文件上传代码

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  10. 从头认识java-17.2 线程中断(interrupt)

    这一章节我们来讨论一下线程中断(interrupt). 1.什么是线程中断(interrupt)? 就是在多线程执行的时候,我们给线程贴上一个中断的标记.可是不要求线程终止. 2.样例: 中断的样例: ...