Git简介和软件安装
- 简介
- git安装
- 官网Git
- 或者通过其他软件商店下载
- 小乌龟 TortoiseGit 安装
- 记得选择使用openssh
- 安装完以后记得设置用户和邮箱
Git本地仓库创建和一些基本概念
- 使用git init 命令创建本地仓库
- 仓库区和工作区
.git文件夹为仓库区 ,类似于一个数据库存储着每一次提交的变化
.git所在目录称为工作区 ,我们在这里创建项目,和其他文件
- 使用git add <文件名> 可以把文件添加到暂存区 ,暂存区存储将要被提交的文件变化
- 使用commit命令提交暂存区存储的变化并生成一个新的版本
- 使用git status命令查看状态,git log命令查看日志
Git服务器和远程仓库创建
- 可以搭建,自己搭建git服务器
- 免费服务器
- github.com 全球最大开源项目托管平台
- 2.gitee.com 国内知名开源项目托管平台 码云
- 注册gitee账号,并创建仓库
Git 克隆
- https方式
- 第一次克隆需要我们输入账号密码
- ssh方式
- ssh是一种开源非对称加密通信协议,
- ssh只是一种协议,有开源实现也有商业实现,git默认使用开源实现的openssh
- ssh通信需要一对密钥(公和私一对),私钥留在自己电脑上,公钥给其他的电脑
- 使用GitGUI生成密钥,并把公钥放在服务器上
- 安装完git第一次克隆会请求是否允许使用ssh,需要我们输入一个"yes".或者点击ok
添加,提交,推送,拉取
- 添加 add (如果使用使用小乌龟 勾选即为add)
- 提交 commit
- 提交只提交到本地仓库,需要推送才会到把变化更新到服务器仓库
- 推送 push
- 如果服务器版本比我们新则不会推送不成功,需要先拉取
- 拉取 pull
- 拉取时应确保工作区整洁(先提交本地再拉取服务器的变化)
分支
- master是仓库的主分,为了避免开发过程中程序员之间相互影响,我们一般选择创建一个新的分支来开发新功能
- 创建分支
- 切换分支
- 合并分支
冲突
- 冲突如何产生的
- 两个分支修改了同一个文件,合并的时候会发生冲突
- 如何解决冲突
- 协商修改冲突位置,并重新提交
- 如何减少冲突
- 先pull在修改
- 确保自己正在修改的文件是最新版本的
- 各自开发各自的模块,如果要修改公共文件,最好先确认有没有人正在修改
- 不要擅自修改同事的代码
忽略
.gitignore
使用 touch .gitignore 命令来创建一个忽略文件
|----------------------------------------------------------------------------------------------|
| #按文件名忽略文件夹 文件夹名/ ([Aa]忽略大小写) #按路径忽略文件夹 /文件夹名(路径)/ #忽略文件 *.后缀名 #反忽略,对文件和文件夹都有效 !*.文件名 !A/ |
空文件夹会被自动忽略
版本回退
在版本日志界面选择一个节点,使用重置(Reset)命令
子模块
子模块就是一个git仓库包含其他git仓库
当我们需要把其他开源项目作为本项目的一个库,并可可以随时拉取更新的时候或者我们的项目需要分模块独立开发的时候可以使用子模块
克隆有子模块的仓库,需要选择递归