git入门-概念

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入门-概念

分支合并

  • 新建一个分支,但依然停留在当前分支

$ git branch [branch-name]

  • 切换分支

$ git switch [branch-name]

  • 其他分支合并到当前的主分支

$ git switch master
$ git merge dev1
git入门-概念