我的git第一天笔记

1.版本控制系统

本身是一个软件,它能够记录一个或若干个文件的变化
1.1本地版本控制系统
指的是在本地开发,实现版本的手动控制

**缺点:**不能进行多人协作
1.2集中式版本分布系统
有一台中央处理的服务器,用于管理代码,所有的代码都要上传到这个中央服务器上

**优点:**解决了多人协作的问题,所有人通过中央处理器实现代码同步

**缺点:**

    1.特别依赖中央处理服务器

    2.特别依赖网络
集中式版本控制.png
1.3分布式版本控制系统

有一个远程的仓库用于存储代码,每个用户的本地会生成远程仓库的完整镜像,生成本地仓库,每个人通过将代码保存到本地仓库中,本地仓库会在有网络的的时候将数据同步到远程仓库中,远程仓库发生更新,会将数据同步到每个用户的本地仓库中,实现代码同步

优点:

1.解决了多人协作的开发问题

2.不是特别的依赖于远程仓库

3.不是特别的依赖于网络
分布式版本控制系统.png

2.git的使用

2.1git版本控制的三个区
工作区:用户编辑代码的区域,一般指的是编辑器的编辑的区域

暂存区:和仓库区一样,保存在.git的隐藏文件夹内部

仓库区:保存在.git的隐藏文件夹下

文件的保存的流程:工作区--->暂存区--->仓库区

第一次使用需要配置邮箱和用户名,配置命令如下:

    配置邮箱:git config --global user.email "邮箱"

    配置用户名: git config --global user.name
三个区.png
2.2初始化git
命令:git init

作用:会自动生成一个.git的隐藏文件夹
init初始化.png
2.3查看文件状态
命令:git status  

简化命令:git status -s  

作用:查看当前文件的状态,红色表示在工作区,绿色表示在暂存区
status状态1.png
2.4添加到暂存区
命令:git add . / --all /-A 表示将所有内容添加到暂存区

        git add css 表示将css文件夹添加到暂存区

        git add *.js 表示将所有js文件添加到暂存区

        git add ...

作用:将文件或文件夹添加到暂存区
add添加.png
2.5添加到仓库区
命令: git commit -m "说明信息"

快速提交:git commit -a -m "说明信息"

修改最近的一次说明信息: git commit -amend -m “说明信息”

作用:将文件内容从暂存区提交到仓库区
commit添加到仓库区.png
2.6查看保存日志
命令:git log  查看仓库区完整的提交日志
log日志.png

git log --oneline 查看简化版的提交日志


log查看日志.png

git reflog 查看所有的日志信息


reflog查看所有日志信息.png

作用:可查看当前仓库区提交的日志
2.7查看当前用户信息
命令:git config --list

重置当前用户的邮箱和用户名

    重置邮箱:git config --unset --global user.email

    重置用户名:git config --unset --global user.name
config-list查看用户信息.png
2.8比较区的内容
命令:
比较 **工作区** 和 **暂存区**:git diff

diff比较.png

比较 暂存区仓库区:git diff --cached
diff -cached比较.png

比较 **工作区** 和 **仓库区** :git diff HEAD
diff HEAD比较.png

比较仓库区版本的内容:git diff 版本号1 版本号2
如果版本号2的内容多于版本号1的内容,差异部分显示绿色,如果版本号2的内容小于版本号1的内容,差异部分显示红色

版本号比较.png
2.9重置版本

命令:git reset 暂无

重置仓库区:git reset --soft

重置暂存区和仓库区:git reset --minxed

重置版本的工作区、暂存区和仓库区:git reset --hard

将版本回退到上一个版本: git reset --hard head~1

将版本回退到上上个版本:git reset --hard head~2

重置版本.png
2.10分支操作
**为什么要使用分支?**

如果一半的代码不提交可能会丢失,但是提交了可能会影响别人的开发进度,这个时候就需要要分支控制了

分支控制的特点:分支之间是**独立**的,不会相互影响

**分支的目的:**保证功能独立性,一般开发复杂的功能都会先开一个分支,在分支中进行提交,等功能完成后,一次性合并到主分支

**分支的实现原理:**

1.每次commit提交,都会在仓库区生成一个版本号

2.在第一次生成版本后,会自动创建一个master的指针,指向当前的版本

3.所有的分支在本质上就是指针

4.默认就有一个HEAD的指针,永远指向当前的分支

**命令:**

查看所有分支: git branch 当前的分支的颜色是绿色的,而且前面有一个白色的小雪花
查看分支.png
创建分支:git branch 分支名称
创建分支.png
切换分支 : git checkout 分支名称
切换分支.png
删除分支:git branch -d 分支名
删除分支.png
合并分支:git merge 分支名称  如果当前分支是合并分支的祖先分支,可以进行快速合并
合并分支.png
快速创建并切换:git checkout -b 分支名
快速创建并切换.png

合并分支:

1.如果当前分支是合并分支的祖先分支,可进行快速合并

2.如果当前分支不是祖先分支,可能会产生冲突(即同时修改同一文件)
3.合并分支时,如果出现冲突,只能手动处理,再次提交,一般的作法,把自己的代码放到冲突代码的后面即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,504评论 0 13
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,866评论 5 147
  • NSTextAttachment对象通常与NSAttributedString配合使用,作为一个NSAttribu...
    蜂猴阅读 11,982评论 1 4
  • 一世之情而蒙纤尘之染,唏嘘感叹,遂发短笺。 晴窗鸟闹春,风叶弄清阴。 暮看含烟翠,青萝已染尘! 附注:含烟翠,日暮...
    晴鹤1阅读 102评论 4 7
  • 【2018年6月7日,周四分享】 当你的内在冲突消失,才有爱别人的能力。除非对自己感到自在,才可能与别人相处时感到...
    星星点灯Coco阅读 136评论 0 0