无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况
几个月来的努力付之东流
老王需要在项目中加入一个很复杂的功能,一边尝试,一边修改代码,就这样摸索了一个星期。
可是这被改得面目全非的代码已经回不到从前了。
小明和老王先后从文件服务器上下载了同一个文件
因项目中Bug过多,导致项目进度拖延,项目经理老徐因此被骂,但不清楚Bug是手下哪一个程序员写的
开发中要解决的问题
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,
所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
服务器单点故障
将会导致所有人员无法工作
而服务器硬盘损坏
这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的。
Git是在2005年,Linux系统的创建者Linus Torvalds,为了帮助全球的开发者,维护Linux系统内核的开发
而开发了自己的开源分布式版本控制工具,分为两种类型的仓库:本地仓库和远程仓库。
每一个客户端都保存了完整的历史记录
服务器的故障,都可以通过客户端的记录得以恢复。
官网下载地址:https://git-scm.com/downloads
指定安装目录
一路next下一步
或者下载其他的图形化界面https://git-scm.com/download/gui/windows
下载TortoiseGit :https://tortoisegit.org/download/
指定安装目录
安装
下面的操作很麻烦,建议看这个简单一点的
TortoiseGit安装、配置
CSDN上面没有很好的,找了一个差不多的
TortoiseGit小乌龟的基本操作
本地仓库
git常用命令
命令 | 作用 |
---|---|
git init | 初始化,创建 git 仓库 |
git status | 查看 git 状态 (文件是否进行了添加、提交操作) |
git add 文件名 | 添加,将指定文件添加到暂存区 |
git commit -m ‘提交信息’ | 提交,将暂存区文件提交到历史仓库 |
git log | 查看日志( git 提交的历史日志) |
操作步骤
创建工作目录、初始化本地 git 仓库
新建一个 test.txt 文件(暂不执行添加操作)
使用 status 命令,查看状态
使用 add 命令添加,并查看状态
使用 commit 命令,提交到本地历史仓库
使用 log 命令,查看日志
修改 test.txt 文件
添加并提交,查看日志
创建工作目录、初始化本地 git 仓库
新建一个 test.txt 文件(暂不执行添加操作)
选中文件右键,选择TortoiseGit,之后选择添加
空白处右键,Git提交,提交到本地历史仓库
空白处右键,TortoiseGit,显示日志,可以产看日志信息
修改 test.txt 文件
添加并提交,查看日志
准备动作
需求: 将代码切换到第二次修改的版本
指令:git reset --hard 版本唯一索引值
分支
分支的使用场景
分支工作流程
Master: 指向提交的代码版本
Header: 指向当前所使用的的分支
创建和切换
创建命令:git branch 分支名
切换命令:git checkout 分支名
新分支添加文件
查看文件命令:ls
总结:不同分支之间的关系是平行的关系,不会相互影响
合并分支
合并命令:git merge 分支名
删除分支
删除命令:git branch -d 分支名
查看分支列表
查看命令:git branch
GitHub
域名:https://github.com
介绍:GitHub是全球最大的开源项目托管平台,俗称大型程序员社区化交友网站
各类好玩有趣的开源项目,只有想不到,没有找不到。
码云
域名:https://gitee.com
介绍:码云是全国最大的开源项目托管平台,良心平台,速度快,提供免费私有库
步骤
创建远程仓库
生成SSH公钥
推送代码之前,需要先配置SSH公钥
生成SSH公钥步骤
设置Git账户
2. 生成SSH公钥 + 生成命令: ssh-keygen –t rsa –C “邮箱” ( 注意:这里需要敲3次回车)
+ 查看命令: cat ~/.ssh/id-rsa.pub
3. 设置账户公钥
4. 公钥测试 + 命令: ssh -T git@gitee.com
推送到远程仓库
步骤
命令
git remote add 远程名称 远程仓库URL
git push -u 仓库名称 分支名
产生原因:
两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的代码更新到本地仓库后,在修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新到本地仓库,而是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突
如何解决冲突
<<<<<<<和>>>>>>>中间的内容,就是冲突部分
File -> Settings
Version Control -> Git -> 指定git.exe存放目录
VCS->Import into Version Control->Create Git Repository
选择工程所在的目录,这样就创建好本地仓库了
点击git后边的对勾,将当前项目代码提交到本地仓库
注意: 项目中的配置文件不需要提交到本地仓库中,提交时,忽略掉即可
方式一: 控制台Version Control->Log->Reset Current Branch…->Reset
这种切换的特点是会抛弃原来的提交记录
方式二:控制台Version Control->Log->Revert Commit->Merge->处理代码->commit
这种切换的特点是会当成一个新的提交记录,之前的提交记录也都保留
创建分支
VCS->Git->Branches->New Branch->给分支起名字->ok
切换分支
idea右下角Git->选择要切换的分支->checkout
合并分支
VCS->Git->Merge changes->选择要合并的分支->merge
处理分支中的代码
删除分支
idea右下角->选中要删除的分支->Delete
File->Close Project->Checkout from Version Control->Git->指定远程仓库的路径->指定本地存放的路径->clone