Git概念
》》什么是Git
Git是目前世界上最先进的分布式版本控制系统。
Git是免费、开源的l
最初Git是为辅助Linux内核开发的,来替代BitKeeper
》》作者
Linux和Git之父李纳斯·托沃兹(Linus Benedic Torvalds)1969、芬兰
》》官网
官网: https://git-scm.com/
源码: https://github.com/git/git/
1·备份与还原
》》备份:对当前的数据产生一个副本
一次备份就是产生一个副本|Copy
多次备份产生多个副本
意义:找回以前的数据(代码)
》》还原、恢复
用以前的副本覆盖现在的数据(代码)
2.比较
比较两份数据的不同
1:整体比较hash值
2:逐行比较
hash值就是调用一个算法(摘要算法,md5,sha-1…),得到一个特征码
同一份数据,是否发生修改,只要看特征码
3.分支
(1)分支不是分叉
创建对当前所有的数据产生一个“更大”的副本
(2)有什么特点
与原来副本互不干扰
分支的地位是相同的,当前数据默认分支master
意义:提高团队效率
a->b->c
Data
Data1
Data2
Data3
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WSUlr1MR-1600070677784)(C:\Users\33077\AppData\Roaming\Typora\typora-user-images\image-20200914093426914.png)]
4.合并
-
(1)合并是什么?
通过比较两份数据的差异,将目标数据与当前数据"合"在一
起,产生一份新的数据 -
(2)实际
应用:将其他分支的数据合到主分支上面。–文件合并
–文件夹合并
-
(3)冲突
两份数据,相同的位置被修改,不能简单覆盖替换
5.Git优点
- 》》Git优点:分布式
高效(团队,分支)
离线工作,服务器压力小
易于合并 - 》》缺点:入门容易精通难
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维
Git使用
新建代码库git clone
配置git config
远程同步git remote pull push fetch
增加git add
代码提交git commit
查看提交信息 git reflog/log
比较 git status/diff
查看 git show
修改git mv
删除git rm
撤销恢复git checkout /reset
暂时移除git stash
分支git branch
标签git tag
git add
- 添加指定文件到暂存区
$ git add [file1] [file2] … - 添加指定目录到暂存区,包括子目录
$ git add [dir] - 添加当前目录的所有文件到暂存区
$ git add . - 添加每个变化前,都会要求确认
- 对于同一个文件的多处变化,可以实现分次提交
$ git add -p
git commit
- 提交暂存区到仓库区
$ git commit -m [message]
- 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] … -m [message]
- 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
Git 查看命令
》》git status 命令
显示工作目录和暂存区的状态,只到文件
》》git log 命令
项目历史的信息
》》git log --stat 查看简要统计
》》git show sha1或者head标记
看某个具体的 commit 的改动内容
》》git diff 命令
显示工作目录和暂存区的状态,细到内容
》》git diff HEAD 命令
显示工作目录和上一次的状态,细到内容
Git reset
分支合并
- 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
- 切换分支
$ git switch [branch-name]
- 其他分支合并到当前的主分支
$ git switch master
$ git merge dev1