赞
踩
(1)版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历 史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件;
(2)版本管理工具主要有两个作用 1. 代码版本管理 2. 多人协作开发;
(3)版本管理是一个合格的程序员的必备的基础技能 1. 版本常用工具一个是git一个是svn ;
(4)Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管 理。
(1)官网https://git-scm.com/ ;
(2)或者通过其他软件商店下载 ;
(3)小乌龟 TortoiseGit 安装 1. 记得选择使用openssh 2. 安装完以后记得设置用户和邮箱。
1. 使用git init 命令创建本地仓库;
2. 仓库区和工作区 .git文件夹为仓库区,类似于一个数据库存储着每一次提交的变化 .git所在目录称为工作区,我们在这里创建项目,和其他文件;
3. 使用git add 可以把文件添加到暂存区,暂存区存储将要被提交的文件变化;
4. 使用commit命令提交暂存区存储的变化并生成一个新的版本;
5. 使用git status命令查看状态,git log命令查看日志。
1. 可以搭建,自己搭建git服务器;
2. 免费服务器
(1) github.com 全球最大开源项目托管平台;
(2)gitee.com 国内知名开源项目托管平台--码云。
3. 注册gitee账号,并创建仓库。
第一次克隆需要我们输入账号密码;
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 拉取请求,为项目贡献代码,请求项目管理者合并自己的代码。
git非常灵活,可以根据自己的需要构思出来不同的工作流(团队开发的方式和流程)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。