Git&GitHub简介与入手(一)

1、Git版本控制

一、集中式版本控制工具:SVN(版本控制集中在服务器端,会有单点故障风险);git

二、分布式版本控制工具:Git;算法

三、Git简史vim

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

四、https://git-scm.com/ 官网下载安装git服务器

(后面均使用默认设置);编辑器

2、Git&GitHub简介

1.Git的结构与GitHub的关系分布式

二、Git&GitHub---本地库与远程库的交互方式工具

(1)团队内的合做命令行

(2)跨团队协做版本控制

3、Git命令行操做

一、添加,提交

(项目级别信息保存位置显示)

(系统用户级别信息保存的位置);

(第二句表示本地库中没有东西,第三句表示暂存区中没有什么可提交的。);

 (用vim thy.txt新建了一个文本文件)

(行末换行符进行改变,将文件添加到缓存区);

(文件已经添加至缓存区了,可用提示命令从缓存区撤回);

(git commit thy.txt提交以后,要求对此次改变输入提交信息);

(master根提交,“版本号”,一个文件,一行增长,建立了文件)

(缓存区中没什么提交的,工做树是干净的);

(对thy.txt进行了修改,用add命令更新到暂存区,或用checkout在你的工做目录里取消修改,暂存区中没没有可提交的修改,用add和commit添加到暂存区并提交,或直接提交);

(使用add后显示status,而后提交,加上-m能够不用进入vim编辑器写提交信息);

 二、版本穿梭

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

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

(前进后退都用这个命令)

 (一个^表示后退一个版本,2个后退两个,一次类推,太多了能够用~3表示后退三个版本)

(用HEAD命令使三个区保持一致)

(找回永久删除的文件,回退到过去版本)

 

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

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

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

(建立分支实际上是建立一个指针,而不是真的将文件再复制一遍,分支的切换是移动head指针,因此效率很高!)

相关文章
相关标签/搜索