Git知识点使用方法

2021年5月19日——yaco

来源:https://www.bilibili.com/video/BV1tf4y1e7yt?t=327

第一章 快速入门

1.1 什么是Git

Git是一个分布式的版本控制软件。

  • Git是一个软件,类似于QQ、office、dota等安装到电脑上才能使用的工具‘
  • 版本控制,类似于毕业论文、写文案、视频剪辑等,需要反复修改和保留原历史数据。
  • 分布式
    • 文件夹拷贝(最原始的多版本控制方法)
    • 本地版本控制(在本地进行版本控制)
    • 集中式版本控制(使用一台机器进行版本的集中管理,一旦集中管理的机器挂掉,则整个系统就会瘫痪)
    • 分布式版本控制(每一台机器中都存储有多个版本,一台机器=挂掉之后,并不会影响整个系统工作)

1.2 为什么要做版本控制

一个软件项目往往会有多个版本,版本之间的切换更改是经常发生的事,因此必须进行项目版本控制,方便进行回滚和修改

1.3 安装Git

详见:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

第二章 Git实战教程

2.1 第一阶段: 保证Git可以成功管理项目目录

想让git对一个目录进行版本控制需要以下步骤:

  • 进入要管理的文件夹

  • 执行初始化命令

    git init
    
  • 管理目录下的文件状态

    git status
    注:新增的文件和修改后的文件都是红色的
    
  • 管理指定文件(红变绿)

    git add 文件名       (添加单个文件进行git的管理)
    git add .           (将当前目录下所有没有被管理文件加入git管理)
    
  • 个人信息配置:用户名、邮箱(一次即可,往往在git第一次使用的时候需要配置)

    git commit -m '描述信息'
    
  • 查看版本记录

    git log
    

2.2 第二阶段:扩展新的功能

  • 首先新增了一个文件index.txt,加入版本控制v1
image-20210423180750578
  • 向index.txt文件中写入一句话,生成新的版本v2
image-20210423181000524
  • 以同样的方式生成版本3,最终会形成三个版本,v1为空文件,v2写了一句话,v3写了两句话
image-20210423181122523

2.3 第三阶段: 多版本回滚的使用方法

  • 当前所在的版本为v3,如果想要回滚到v2的操作

    git log    (查看v2版本号对应的hash值)
    git reset --hard 版本号
    
    image-20210423182151265
  • 从当前版本回滚到之前的版本,可以发现git log少了v3,可以使用git reflog查看

  • 当前所在版本为v2,现在计划从版本v2跳回v3

    git reflog   --查看当前版本之后的版本记录
    git reset --hard 版本号
    
  • image-20210423182426277

2.4 阶段性总结一

git init   初始化项目目录,使git介入管理
git add    将新建的文件或者修改后的文件加入git的管理范围,使文件名由红色变为绿色
git commit 提交归档为一个新的版本
git log    查看版本日志
git reflog 查看历史版本日志,包括当前版本之后的版本
git reset --hard 版本号
image-20210423182848588

2.5 第四阶段:版本控制中存在的分支现象

2.5.1 分支

分支可以给使用者提供多个开发环境,意味着你可以把工作从开发主线上分离开来,以免影响开发主线。

2.5.2 紧急修复bug方案

image-20210423220711089

2.5.3 命令总结

  • 查看分支

    git branch
    
  • 创建分支

    git branch 分支名
    
  • 切换分支

    git checkout 分支名
    
  • 分支合并

    git merge 要合并的分支
    注意:切换分支主分支之后再合并
    
  • 删除分支

    git branch -d 分支名
    

2.5.4 工作流

image-20210423223646517
image-20210423223851474
image-20210423223954881
image-20210423224126073
image-20210423224227545
image-20210423224301367
image-20210423224413447
image-20210423224600730
image-20210423224809811
image-20210423225011268
image-20210423225053902
image-20210423225159447

2.6 使用GitHub进行不同机器上工作文件灵活切换

如何在公司和家中进行工作代码的灵活切换,随时随地都可以快乐的敲代码尼?

image-20210423225608931

2.6.1 配置好Github环境,公司开发并提交至远程仓库

  • 首先,需要注册github账号,并创建远程仓库

image-20210423230646842

  • 填上关键信息即可
image-20210423230720331
  • 生成仓库路径
image-20210423230804101
  • 首先使用git bash here给远程仓库起别名

    git remote add gitstudy https://github.com/codeyc-azc/Yaco_gitstudy.git
    
  • 然后向远程推送代码

    git push -u gitstudy 分支名
    注意:这里的-u可以省略
    
  • 首次推送需要用户名和密码

image-20210423231159753
image-20210424093923890
image-20210424094025601
image-20210424094916153
image-20210424094956731
image-20210424095101598
image-20210424095150804

2.6.2 回家继续开发

  • 首先从github上,将公司上传的代码克隆下来到本地

    git clone 远程仓库地址(内部已实现git remote add gitstudy 远程仓库地址)
    
    image-20210424095353373
image-20210424095517315
image-20210424095607560
image-20210424095657554
image-20210424095732226

2.6.3 回公司继续操作

image-20210424095928155

2.6.4 工作示意图

image-20210424100043851

2.7 阶段性总结二

  • 添加远程链接(别名)

    git remote add 别名 仓库地址
    
  • 推送代码

    git push 仓库别名 分支名
    
  • 下载代码

    git clone 仓库地址
    
  • 拉取代码

    git pull 仓库别名 分支名
    
  • 保持代码提交整洁(变基)

    git rebase 分支名
    
  • 记录图形展示

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

推荐阅读更多精彩内容