简单介绍一下Git

简介

git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

最初是 Linus 为了管理 Linux 内核开发而开发的一个开源的版本控制软件。

版本控制

  1. 版本管理
    保存项目的每一个版本信息时,不存重复的数据,节约内存
  2. 分支管理
    团队开发中,多条生产线同时推进,提高效率
  3. 权限控制
    对团队中开发者进行权限控制,对团队外贡献的代码进行审核
  4. 历史记录
    查看修改人、日志信息等;将本地文件恢复到某一历史版本

版本控制分类

集中式:svn,各个版本存于服务器,易单点故障
分布式:git,能有效解决单点故障,C语言开发

git安装

git 支持 32 位和 64 位,需要根据你操作系统的实际情况选择。
git版本
这里我们下载
git-2.30.0-64-bit.exe
然后安装到windows即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他默认!!使用时右键–git bash here

git操作

使用git管理项目

  1. 创建一个项目,在项目目录下,初始化git仓库
git init

然后会在项目目录下生成一个隐藏文件夹.git,内部的文件不能随意修改。

  1. 设置签名
    用户名:laufing
    Email:xxxx@qq.com
    作用:区别不同的开发人员
    命令:
    项目级别—当前项目
      git config user.name laufing
      git config user.email xxxx@qq.com
      签名保存在项目目录下.git/config
    系统用户级别—登录操作系统的用户
      git config - -global user.name laufing
      git config - -global user.email xxxx@qq.com
      签名保存在~/.gitconfig
    二者的优先级:就近原则

  2. 实际操作
    在这里插入图片描述

git status #查看当前工作区、暂存区状态

#所有文件增加到暂存区,也可指定一个文件
git add .
#从暂存区移除所有-
git rm --cached -r ./*

#暂存区提交到本地仓库
git commit -m "描述信息" 
#查看历史记录
git log

如下,可以看到提交的人、提交时间、提交描述、每次提交的索引hash值,HEAD是一个指针,指向当前版本。
若内容太多,需翻页:空格向下、b向上、q退出
在这里插入图片描述

#格式化输出版本
git log --pretty=oneline
git log --oneline
git reflog
  1. 版本切换
    1)使用索引
    2)使用^,后退一步
    3)使用~,后退n步
#随意切换
git reflog
git reset --hard 复制的索引

#后退的切换
git reset --hard HEAD^ #后退一步
git reset --hard HEAD^^ #后退两步

#后退n步
git reset --hard HEAD~100 #后退100步
  1. hard、soft、mixed
#查看本地文档
git help reset

#reset的三个参数 index file[暂存区] working tree[工作区]
#reset --soft:仅在本地仓库移动HEAD指针
#reset --mixed:本地仓库移动指针;重置暂存区;
#reset --hard:本地仓库移动指针;重置暂存区;重置工作区
#hard使用较多
  1. 删除文件,并找回
    文件存在时的状态,需提交到本地库
#删除
rm test.txt  #在git管理的项目目录下
#将删除操作,增加到暂存区
git add .
#提交本地仓库
git commit -m "测试删除"
#查看文件,已删除

#恢复只需回到上一个版本,就可以实现文件的恢复
git reset --hard 索引

#如果删除操作,只增加到暂存区,没有提交到本地库
#则简单恢复如下
git reset --hard HEAD

代码托管平台

  1. GitHub,国外服务器,慢
  2. 码云,国内服务器,快

代码推送到远程托管平台

  1. 查看远程仓库
git remote -v
#添加远程仓库
git remote add origin url  # url为复制的远程仓库https地址
  1. 推送代码
git push origin master
git push origin master --force  #强制推送

对于超时问题,就多尝试几次:

fatal: unable to access 'https://github.com/wn15239159680/vue_lauf1.git/': 
Failed to connect to github.com port 443 after 21097 ms: Timed out

当远程仓库发生改变时,应该先拉取远程仓库。

git pull origin master  # 拉取远程仓库

项目的分支

#查看分支
git branch
#创建分支
git branch b1
#切换到b1分支
git switch b1

#将b1分支合并到master
git switch master
git merge b1

总结

以上就是今天要讲的内容,本文仅仅简单介绍了git的使用,而git还有更多的使用方法,有兴趣的同学们还可以问下度娘哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值