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

相关推荐
但老师6 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y6 小时前
git创建分支
git
研究是为了理解11 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT11 小时前
Git 的基本概念和使用方式
git
Winston Wood14 小时前
一文了解git TAG
git·版本控制
喵喵先森15 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu54316 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio18 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。19 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie621 小时前
在IDEA中使用Git
java·git