1 Git介绍
# Git的作用
1 对文件(代码)进行版本管理
2 完成 协同开发 项目,帮助程序员整合代码
i)帮助开发者合并开发的代码
ii)如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突
# Git简介
Git是分布式版本控制系统,控制的对象是开发的项目代码
# 举例
比如在写毕业论文,想删除一个段落,又怕将来想恢复找不回来怎么办?
于是你先把当前文件另存为一个新的文件,再接着改,改到一定程度,再另存为成另一个新文件,这样一直改下去,最后你的文件变成了:
-毕业论文1.doc
-毕业论文2.doc
-毕业论文3.doc
-毕业论文-永不修改版.doc
-毕业论文-打死不改版.doc
-毕业论文-再改吃屎版.doc
过了一段时间,想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删
2 Git,GitHub,GitLab,Gitee
Git:是一种版本控制系统,是一个命令,是一种工具。
GitHub:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放,公有仓库免费,部分私有仓库收费,全球最大的开源代码托管平台
GitLab:是一个基于Git实现的在线代码仓库托管软件,可以通过GitLab自己搭建一个类似于GitHub一样的系统,用在企业内部网络搭建Git私服,用于企业团队内部协作开发
Gitee:(码云) 是 OSCHINA 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管,面向互联网开发,分收费和付费,中国最大的开源代码托管平台
3 Git使用
3.1 流程(核心总结)
"""
1)有红色信息(工作区有内容),就执行 add
2)全绿信息(内容全部在暂存区),才执行 commit
3)只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本
"""
3.2 安装
# 1.下载对应版本:https://git-scm.com/download
# 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项
3.3 基础命令
将已有的文件夹 - 初始化为git仓库
"""
>: cd 目标文件夹内部
>: git init
"""
在指定目录下 - 初始化git仓库
"""
>: cd 目标目录
>: git init 仓库名
"""
在仓库目录终端下 - 设置全局用户
"""
>: git config --global user.name '用户名'
>: git config --global user.email '用户邮箱'
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
"""
在仓库目录终端下 - 设置局部用户
"""
>: git config user.name '用户名'
-- 用户名
>: git config user.email '用户邮箱'
-- 用户邮箱
注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
注:一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户
"""
查看仓库状态
"""# 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看>: git status -- 查看仓库状态>: git status -s -- 查看仓库状态的简约显示"""
工作区操作
# 通过任何方式完成的文件删与改# 空文件夹不会被git记录
撤销工作区操作:改、删(了解)
""">: git checkout . -- 撤销所有暂存区的提交>: git checkout 文件名 -- 撤销某一文件的暂存区提交"""
工作区内容提交到暂存区
""">: git add . -- 添加项目中所有文件>: git add 文件名 -- 添加指定文件"""
撤销暂存区提交:add的逆运算(很少使用)
""">: git reset HEAD . -- 撤销所有暂存区的提交>: git reset 文件名 -- 撤销某一文件的暂存区提交>: git reset . -- 撤销所有暂存区的提交"""
提交暂存区内容到版本库
>: git commit -m "版本描述信息"