一、背景:

什么是Git?

答:Git是一个版本控制系统,它会像拍立得一样,在你指定的时刻给整个项目拍一张照片,永远存在相册里,想回到哪个时刻,翻哪个照片就行。

二、简史

Git的爹是林纳斯·托瓦兹---Linux 操作系统的创始人。2005年Linux内核开发用的版本控制工具不让免费使用了,然后林纳斯怒了,在邮件列表里宣告:“我要自己写一个,两周内交货”。大家都以为他在吹牛。    两周后Git诞生了。  后来这头暴躁又天才的程序员巨兽,把Git开源给了全世界。如今超过90%的开发者都在用Git,GitHub、GitLab、码云......所有的代码托管平台,心脏都是Git。

结论:1、Git只会记录版本的变化信息,只记录变化部分,减少存储工作量。

2、Git进行版本控制的时候,是同步记录“变化”来进行版本控制的

3、Git是一个去中心化的(机器之间彼此可以获取数据),分布式的版本控制器(在应用时,还是 以中心化模式为主的)

用粉色笔标记的是:整个对应的工作区              蓝色的.git是本地仓库

git三板斧:

1、git add  +  文件名.txt 添加:把文件加入”待提交清单“,把工作区的(你刚改好的文件)里的改动,”暂存“到暂存区,放到暂存区相当于提供了可以后悔的能力,提供提交效率,相当于告诉git:”这些文件我要准备提交了“。它只是标记要提交的内容,并不会保存到真正的版本库。

2、git commit -m "提交日志“,把暂存区内容“永久保存”到版本库。  -m后面必须跟着一段有意义的文字,说明这次提交了什么, 比如:git commit -m “ 修复了登录页的崩溃问题”    

只有执行了 git commit ,代码才会真正被Git记录下来。

每一次commit都会生成一个唯一的哈希值(commit ID ),用来定位这个版本。

3、git push 把本地仓库和远端仓库及进行同步,将本地仓库已经commit的版本记录,推送到远程仓库(比如:GitHub、GitLab或公司的Git服务器)

--git clone从远程仓库完整复制一份代码到本地,常用写法:http://gitee.com/用户名/仓库名.git

第一次参与项目时把代码拉到本地

--git log :查看提交历史,包括每次提交的作者、时间、哈希值和提交说明。

git log --oneline:简介显示一行提交信息

git log --graph :以图形化方式显示分支合并历史

--git pull  从远程仓库拉取最新代码,并且合并到本地当前的分支。应用场景:开始写代码时,先git pull一下,保证本地的代码是最新的,减少冲突。

git pull的本质是:你要想提交你的代码,就先要把别人的历史提交的代码先同步到本地。

假如一个人删了几行代码,另外的一个人加了几行代码,此时  就会调用文本编辑器,vim,将变化同时呈现出来       ----然后让用户自己解决冲突(或者也可以理解为接不接受那样的改动的代码)

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐