Git版本控制


git : 免费的开源的分布式版本控制系统。

版本控制:文件修改记录
感觉还是很有必要学习一下的!

Git

在这里插入图片描述

Git基础命令:

首次使用设置用户签名:

git config --global user.name 用户名    # 设置用户签名
git config --global user.email 邮箱     # 
# 签名的作用是区分不同操作者的身份,用户的签名信息在每一个版本的提交信息中能够看到,从
# 而确认本次提交是谁做的。
# 设置的用户签名和登录GitHub的账号没有任何关系

基础使用命令:

  1. git init # 初始化本地库
  2. git status # 本地库状态
  3. git add test.txt # 添加暂存区
  4. git rm —cached test.txt # 删除暂存区文件
  5. git commit -m "日志信息" # 将暂存区的文件提交到本地库
  6. git reflog # 查看引用日志信息 7位版本号
  7. git log # 查看详细日志信息,包含提交用户
  8. git reset —hard 版本号 # 版本穿梭

多个文件和文件目录的提交

若要提交的项目包含有文件和多个文件夹:

  1. 在项目的根目录下打开git bash命令窗口,通过git init建立本地仓库。
  2. 将项目添加到本地暂存区 git add .
  3. 提交到本地仓库 git commit -m “注释”

若要提交到远程仓库,则使用push命令即可。(空文件夹则不会提交)

commit日志基本格式

<type>(< scope>):<@taskid><subject>
<BLANK LINE>
<body>

type表示本次提交的类型,有如下类型:

  • feat: 新增feature
  • fix: 修复bug
  • docs: 仅仅修改了文档,比如ReadMe, Change Log, Contribute
  • style: 仅仅修改了代码格式,如空格、格式缩进、都好等等,不修改代码逻辑
  • refactor: 代码重构,没有添加新功能或修复bug
  • perf: 优化相关,比如提升性能、体验
  • test: 测试用例,包括单元测试,集成测试
  • chore: 改变构建流程,或者增加依赖库,工具等
  • revert: 回滚到上一个版本

示例:

feat(用户):@taskid,新增登录注册功能

# 新增系统登录功能,可使用邮箱、密码进行用户注册;
# 邮箱发送验证码,验证通过后即可登录。

参考:Git使用——commit规范_Joseph365的博客-CSDN博客

Git 分支

当需要同时推进多个任务,创建每个任务的单独分支,可以同时并行的进行多个功能模块的开发,提高开发效率。

  1. git branch 分支名 # 创建分支
  2. git branch -v # 查看分支
  3. git checkout 分支名 # 切换分支
  4. git merge 分支名 # 将指定的分支合并到当前分支上

合并冲突:两个分支在同一个文件的同一个位置有两套不同的修改,git无法替我们决定使用哪一个,必须人为决定新代码内容。

分支规范:

分支类型命名规范创建自合并到说明
mastermaster--长期分支,部署到生产黄静中的代码
developdevelop-master长期分支,进行代码集成的分支
featurefeature/*developdevelop短期分支,新版本分支
releaserelease/*developdevelop和master短期分支,一次新版本的发布
hotfixhotfix/*masterdevelop和master短期分支,生成环境中发现的紧急bug的修复,唯一可以直接从master分支fork 出来的分支

三个短期分支类型一旦完成开发,就会被合并进develop或master,然后被删除。

其他命令:

git branch -D 分支名 # 删除分支:

Git 团队协作

团队内协作:

在这里插入图片描述

跨团队协作:

在这里插入图片描述

远程协作使用相关命令:

  1. git remote -v # 查看当前所有远程地址别名

  2. git remote add 别名 远程地址 # 添加远程仓库地址 别名和库名保持一致最好

    示例:git remote add origin SSH地址/HTTPS地址

  3. git push 别名 分支 # 推送本地库到远程

    示例: git push origin master

  4. git pull 别名 分支 # 拉取远程库到本地

    示例: git pull origin master

  5. git clone 地址连接 # 将远程仓库的代码克隆到本地,并创建本地仓库

别名:即创建仓库的时候所起的别名,一般都是用origin别名

注:

git pull : 是git fetchgit merge命令的一个组合,用于将远程的代码与本地的代码合并。git fetch只是获取远程代码到本地仓库,git merge进行融合

clone:1.拉取代码 2.初始化本地仓库 3.创建别名。用于在当前本地没有代码或仓库时

当远程pull发生冲突时:

  1. 先使用git fetch命令将远程分支拉下来;
  2. 使用git merge 手动合并冲突的内容;
  3. 然后使用git addgit commit进行添加和提交到本地仓库
  4. 使用git push将本地修改提交到远程分支

Gitee使用

配置SSH公钥,在git bash命令窗口中输入:

ssh-keygen -t rsa  # 三次回车,会在C:\Users\user 下生成 .ssh文件夹

获取公钥:

方式一:在.ssh文件夹下使用记事本打开id_rsa.pub

方式二:在上面的git bash命令窗口中输入:cat ~/.ssh/id_rsa.pub

在Gitee的设置中找到SSH公钥设置,把上面的公钥拷贝到对应的一栏,标题可以随便起。

在这里插入图片描述

验证:

git bash命令窗口中输入:ssh -T git@gitee.com

在这里插入图片描述

Git配合远程仓库使用流程:

  1. 在本地项目中创建仓库,使用git initgit addgit commit命令进行初始化,添加到暂存区和提交到本地仓库
  2. 在远程仓库中创建仓库,并获取远程仓库的地址
  3. 在本地仓库中,使用git remote add 命令添加远程仓库地址
  4. 使用git pushgit pull命令,进行本地仓库的推送和远程仓库的拉取

如何写.gitignore文件

在一个项目中,并不是所有类型的文件或文件夹都需要上传,所以将不需要上传的文件写到gitignore文件中。

.gitignore语法:

  1. "#"号开头表示注释;
  2. 以斜杠"/"开头表示目录;
  3. 以星号"*"通配多个字符;
  4. 以问号"?"通配单个字符;
  5. 以方括号"[]"包含单个字符的匹配列表;
  6. 以叹号"!"表示不忽略(跟踪)匹配到的文件或目录。

参考:萧木易@.gitignore文件写法_萧木易的博客-CSDN博客_gitignore 写法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值