GIT版本管理工具

Git简介和软件安装

  1. 简介
    1. 版本控制软件提供完备的版本管理功能,用于存储追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件
    2. 版本管理工具主要有两个作用
      1. 代码版本管理
      2. 多人协作开发
      3. 版本管理是一个合格的程序员的必备的基础技能
        1. 版本常用工具一个是git一个是svn
      4. Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
  2. git安装
    1. 官网Git
    2. 或者通过其他软件商店下载
    3. 小乌龟 TortoiseGit 安装
      1. 记得选择使用openssh
      2. 安装完以后记得设置用户和邮箱

Git本地仓库创建和一些基本概念

  1. 使用git init 命令创建本地仓库
  2. 仓库区和工作区

.git文件夹为仓库区 ,类似于一个数据库存储着每一次提交的变化

.git所在目录称为工作区 ,我们在这里创建项目,和其他文件

  1. 使用git add <文件名> 可以把文件添加到暂存区 ,暂存区存储将要被提交的文件变化
  2. 使用commit命令提交暂存区存储的变化并生成一个新的版本
  3. 使用git status命令查看状态,git log命令查看日志

Git服务器和远程仓库创建

  1. 可以搭建,自己搭建git服务器
  2. 免费服务器
    1. github.com 全球最大开源项目托管平台
    2. 2.gitee.com 国内知名开源项目托管平台 码云
    3. 注册gitee账号,并创建仓库

Git 克隆

  1. https方式
    1. 第一次克隆需要我们输入账号密码
  2. ssh方式
    1. ssh是一种开源非对称加密通信协议,
    2. ssh只是一种协议,有开源实现也有商业实现,git默认使用开源实现的openssh
    3. ssh通信需要一对密钥(公和私一对),私钥留在自己电脑上,公钥给其他的电脑
    4. 使用GitGUI生成密钥,并把公钥放在服务器上
    5. 安装完git第一次克隆会请求是否允许使用ssh,需要我们输入一个"yes".或者点击ok

添加,提交,推送,拉取

  1. 添加 add (如果使用使用小乌龟 勾选即为add)
  2. 提交 commit
    1. 提交只提交到本地仓库,需要推送才会到把变化更新到服务器仓库
  3. 推送 push
    1. 如果服务器版本比我们新则不会推送不成功,需要先拉取
  4. 拉取 pull
    1. 拉取时应确保工作区整洁(先提交本地再拉取服务器的变化)

分支

  1. master是仓库的主分,为了避免开发过程中程序员之间相互影响,我们一般选择创建一个新的分支来开发新功能
  2. 创建分支
  3. 切换分支
  4. 合并分支

冲突

  1. 冲突如何产生的
    1. 两个分支修改了同一个文件,合并的时候会发生冲突
  2. 如何解决冲突
    1. 协商修改冲突位置,并重新提交
  3. 如何减少冲突
    1. 先pull在修改
    2. 确保自己正在修改的文件是最新版本的
    3. 各自开发各自的模块,如果要修改公共文件,最好先确认有没有人正在修改
    4. 不要擅自修改同事的代码

忽略

.gitignore

使用 touch .gitignore 命令来创建一个忽略文件

|----------------------------------------------------------------------------------------------|
| #按文件名忽略文件夹 文件夹名/ ([Aa]忽略大小写) #按路径忽略文件夹 /文件夹名(路径)/ #忽略文件 *.后缀名 #反忽略,对文件和文件夹都有效 !*.文件名 !A/ |

空文件夹会被自动忽略

版本回退

在版本日志界面选择一个节点,使用重置(Reset)命令

子模块

子模块就是一个git仓库包含其他git仓库

当我们需要把其他开源项目作为本项目的一个库,并可可以随时拉取更新的时候或者我们的项目需要分模块独立开发的时候可以使用子模块

克隆有子模块的仓库,需要选择递归

issue和PullRequest

相关推荐
大筒木老辈子2 小时前
Git笔记---远程仓库的创建与基本操作
笔记·git
9***Y483 小时前
终于解决了!Git拉取代码冲突的处理
git
南屿欣风5 小时前
Idea中Git切换分支,如何确保代码不丢失。
git
不一样的故事1265 小时前
将 Git 远程仓库的地址从 HTTP 修改为 SSH,
git·http·ssh
n***i955 小时前
终于搞定了!Git分支回滚的正确操作
git
A***27956 小时前
终于搞定了!Git拉取代码时权限被拒绝
git
秦jh_6 小时前
【git】多人协作
git
小坏讲微服务8 小时前
Docker Compose搭建Git仓库私服上传微服务
分布式·git·docker·微服务·容器·springcloud·springalibaba
七号练习生.c17 小时前
Git常用命令速查
大数据·git
大筒木老辈子1 天前
Git笔记---其他常用操作
笔记·git