Git&GitHub简介与入手(一)
一、Git版本控制
1、集中式版本控制工具:SVN(版本控制集中在服务器端,会有单点故障风险);
2、分布式版本控制工具:Git;

3、Git简史

Talk is cheap, show me the code.(Linus)

4、https://git-scm.com/ 官网下载安装git



(后面均使用默认设置);
二、Git&GitHub简介
1.Git的结构与GitHub的关系


2、Git&GitHub---本地库与远程库的交互方式
(1)团队内的合作

(2)跨团队协作

三、Git命令行操作
1、添加,提交




(项目级别信息保存位置显示)
(系统用户级别信息保存的位置);
(第二句表示本地库中没有东西,第三句表示暂存区中没有什么可提交的。);
(用vim thy.txt新建了一个文本文件)
(行末换行符进行改变,将文件添加到缓存区);
(文件已经添加至缓存区了,可用提示命令从缓存区撤回);
(git commit thy.txt提交之后,要求对这次改变输入提交信息);
(master根提交,“版本号”,一个文件,一行增加,创建了文件)
(缓存区中没什么提交的,工作树是干净的);

(对thy.txt进行了修改,用add命令更新到暂存区,或用checkout在你的工作目录里取消修改,暂存区中没没有可提交的修改,用add和commit添加到暂存区并提交,或直接提交);
(使用add后显示status,然后提交,加上-m可以不用进入vim编辑器写提交信息);

2、版本穿梭
(commit后面是这次提交的索引,经过哈希算法算出来的,head是指针,指向当前版本,版本穿梭就是移动改指针)


(三种查看历史记录,reflog能显示所有版本,oneline只能显示过去版本,索引号选中自动复制)

(前进后退都用这个命令)
(一个^表示后退一个版本,2个后退两个,一次类推,太多了可以用~3表示后退三个版本)


(用HEAD命令使三个区保持一致)
(找回永久删除的文件,回退到过去版本)






(冲突,当合并时,发现合并的两个分支被修改了同一个文件的相同位置,就会产生冲突,git不知道要保留哪一个,所以会产生人工合并取舍);


(哈希算法可以用来检验文件传输是否有损,哇,以前不知道还有这作用0.0);




(版本管理是用哈希将每次的提交生成相应的哈希值,然后版本的管理就是一条链表,然后指针在上面移动。)


(创建分支其实是创建一个指针,而不是真的将文件再复制一遍,分支的切换是移动head指针,所以效率很高!)
Git&GitHub简介与入手(一)的更多相关文章
- git 和github简介
关于github不清楚的可以百度, 在这里,可以创建一个新的仓库 点击Create repository后会出现下面这些信息,其中第一块是仓库的url链接 第二块是你在本地目录中创建一个READEME ...
- git的简介,安装以及使用
1git的简介 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 2Linus一直痛恨的CVS及SVN都是集中式的版本控制系 ...
- Git & Github 一页简明笔记
由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...
- Git入门简介
1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本 ...
- Git & Github 一页简明笔记(转)main
由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 使用方法:常用命令供随时查阅,其余内容供新手了解. 0. 常用命令一览 ...
- Git/Github的使用并与Eclipse整合(zz)
Git/Github的使用并与Eclipse整合 您的评价: 收藏该经验 Git简介 Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一 ...
- Git/Github的使用以及与Eclipse的整合
Git简介 Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络 ...
- git学习——简介、使用(一)
本文是作者参考其他教程学习git的记录,原文:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c01 ...
- Python开发【笔记】:git&github 快速入门
github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大 ...
- [Git/Github] ubuntu 14.0 下github 配置
转载自:http://www.faceye.net/search/77573.html 一:创建Repositories1:首先在github下创建一个帐号.这个不用多说,然后创建一个Reposito ...
随机推荐
- 在Mac上不常用但会用到的命令
文章目录 1. chflags 2. rename 1. chflags chflags hidden filename 给文件添加隐藏属性 chflags nohidden filename 去掉文 ...
- python创建线程传参误区记录
创建线程可以使用threading模块中的Thread子类: 其中Thread子类允许的参数如下: (self, group=None, target=None, name=None, args=() ...
- 【读书笔记】Young Tableau_Calculus of tableaux_bumping and sliding
目录 bumping Schensted bumping algorithm 举例 sliding/digging a hole 一些定义 Schiitzenberger sliding algori ...
- 重学c#系列—— explicit、implicit与operator[三十四]
前言 我们都知道operator 可以对我们的操作符进行重写,那么explicit 和 implicit 就是对转换的重写. 正文 explicit 就是强制转换,然后implicit 就是隐式转换. ...
- Java面试——Java基础
更多内容,移步IT-BLOG 一.JAVA中的几种基本数据类型 Java语言中一共提供了8种原始的数据类型(byte,short,int,long,float,double,char,boolean) ...
- rocketMq和kafka对比
为什么在RocketMQ和kafka中选型 在单机同步发送的场景下,Kafka>RocketMQ,Kafka的吞吐量高达17.3w/s,RocketMQ吞吐量在11.6w/s. kafka高性能 ...
- $\mathcal{Friends\,\,Of\,--Mathic}$
- jq-ajax-get
get有三个参数,第一个时候url,第二个是数据,第三个是回调函数(可以用返回值表示,如下所示) 执行正确时,返回的依次是res,type,xhr. 执行错误连接不上的的依次是xhr,type,res ...
- Hugging News #0331: Hugging Papers 来啦,快来认领你的论文!
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- selenium验证码处理-打码平台操作
1.进入打码平台(超人,斐斐) 斐斐-------官网: 超人-------官网: 2.选择对应的开发文档,下载对应的demo示例,并把demo的python脚本放到项目包管理地址去 参考: 超人的开 ...