GIT版本管理工具

一、Git简介和软件安装

1. 简介

(1)版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历 史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件;

(2)版本管理工具主要有两个作用 1. 代码版本管理  2. 多人协作开发;

(3)版本管理是一个合格的程序员的必备的基础技能 1. 版本常用工具一个是git一个是svn ;

(4)Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管 理。

2. git安装

(1)官网https://git-scm.com/ 

(2)或者通过其他软件商店下载 ;

(3)小乌龟 TortoiseGit 安装 1. 记得选择使用openssh 2. 安装完以后记得设置用户和邮箱。

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

1. 使用git init 命令创建本地仓库;

2. 仓库区和工作区 .git文件夹为仓库区,类似于一个数据库存储着每一次提交的变化 .git所在目录称为工作区,我们在这里创建项目,和其他文件;

3. 使用git add 可以把文件添加到暂存区,暂存区存储将要被提交的文件变化;

4. 使用commit命令提交暂存区存储的变化并生成一个新的版本;

5. 使用git status命令查看状态,git log命令查看日志。

三、Git服务器和远程仓库创建

1. 可以搭建,自己搭建git服务器;

2. 免费服务器

(1) github.com 全球最大开源项目托管平台;

(2)gitee.com 国内知名开源项目托管平台--码云。

3. 注册gitee账号,并创建仓库。

四、Git 克隆

1. https方式 

第一次克隆需要我们输入账号密码;

2. ssh方式 

1. ssh是一种开源非对称加密通信协议;

2. ssh只是一种协议,有开源实现也有商业实现,git默认使用开源实现的openssh;

3. ssh通信需要一对密钥(公和私一对),私钥留在自己电脑上,公钥给其他的电脑;

4. 使用GitGUI生成密钥,并把公钥放在服务器上;

5. 安装完git第一次克隆会请求是否允许使用ssh,需要我们输入一个"yes".或者点击ok。

五、添加,提交,推送,拉取

1. 添加 add

(如果使用小乌龟 勾选即为add);

2. 提交 commit

提交只提交到本地仓库,需要推送才会到把变化更新到服务器仓库;

3. 推送 push 

如果服务器版本比我们新则不会推送不成功,需要先拉取;

4. 拉取 pull

拉取时应确保工作区整洁(先提交本地再拉取服务器的变化) 。

六、分支

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

2. 创建分支;

3. 切换分支;

4. 合并分支;

七、冲突

1. 冲突如何产生的?

两个分支修改了同一个文件,合并的时候会发生冲突;

2. 如何解决冲突?

协商修改冲突位置,并重新提交;

3. 如何减少冲突?

(1)先pull在修改;

(2)确保自己正在修改的文件是最新版本的;

(3)各自开发各自的模块,如果要修改公共文件,最好先确认有没有人正在修改;

(4)不要擅自修改同事的代码。

八、忽略

gitignore

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

#按文件名忽略文件夹:

文件夹名/ ([Aa]忽略大小写)

#按路径忽略文件夹:

/文件夹名(路径)/ #忽略文件 *.后缀名

#反忽略,对文件和文件夹都有效:

!*.文件名 !A/

空文件夹会被自动忽略。

九、版本回退

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

Head 当前分支的引用指针(重置就是移动Head这个指针)

Index 就是缓存区(被Add的,也可以说是将要提交的,文件的快照)

工作区 .git所在的目录以及子目录

三种重置类型:

1.软重置(S):不更改工作区和索引;

2.混合(M):保持工作区不变,重置索引文件;

3.硬重置(H):重置工作区和索引(丢弃所有本地变更)。

十、子模块

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

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

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

十一、issue和PullRequest

issue 讨论;

PullRequest 拉取请求,为项目贡献代码,请求项目管理者合并自己的代码。

 git非常灵活,可以根据自己的需要构思出来不同的工作流(团队开发的方式和流程)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林枫依依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值