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

相关推荐
明月与玄武1 小时前
Jenkins+Docker+Git实现自动化CI/CD
git·docker·jenkins·ci/cd流水线
MrLi01042 小时前
在git中同时配置gitcode和github访问权限
git·github·gitcode
越来越无动于衷2 小时前
Git 团队协作完全指南:从基础到高级应用
git
小怪兽会微笑2 小时前
如何上传github(解决git的时候输入正确的账号密码,但提示认证失败)
git·github
Komorebi_999915 小时前
Git常用指令
git·web
一小池勺17 小时前
🚀 Git 如何让文件存在于远程仓库却不被本地追踪?
git·github
五月高高19 小时前
Idea使用git不提示账号密码登录,而是输入token问题解决
git
魏 无羡19 小时前
idea实现git版本回退的常见场景
java·git·intellij-idea
ergevv1 天前
不同场景下git指令的搭配
git·源代码管理·代码
不了_谢谢1 天前
项目仓库文件太大怎么清理?如何清理git仓库大文件记录?
git