git的基本使用
Git的基本使用
学习git之前,我们需要了解一个非常重要的概念:==版本控制==
版本控制
什么是版本控制 版本迭代 版本管理器
版本控制(Revision control)是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便回复以前的版本的软件工程技术。
- 实现跨区域多人协同开发
- 追踪和记载一个或多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发,提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员负担,节省时间,同时降低人为错误
简单地说,就是用于管理多人协同开发项目的技术。
多人开发必须使用版本控制,否则代价比较大!!!
常见的版本控制工具
主流的版本控制器有:
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Sever)
- Visual Studio Online
版本控制产品非常的多,现在影响力做大且广泛的是Git
版本控制分类:
1.本地版本控制
记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。
2.集中版本控制
所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。
所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连接网络,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都 保存在单一服务器上,有很大风险这个服务器会崩溃造成数据的丢失。当然可以定期备份。代表产品:SVN、CVS、VSS。
3.分布式版本控制 Git
所有的版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连接网络时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,主要有一个用户的设备没有问题就可以恢复所有数据,但这增加了本地存储空间的占用。
(每个人都拥有全部代码!安全隐患)
git是目前世界上最先进的分布式版本控制系统
git历 史
Git环境配置
下载慢,怎么办?
去找国内镜像网站
如淘宝:https://github.com/git-for-windows/git/releases/
清华大学镜像网站
如何卸载?
先清除环境变量,再卸载。环境变量只是为了全局使用而已。
启动git
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多。
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
基本的Linux命令学习
- cd:改变目录
- cd .. 回退上一级目录
- pwd:显示当时所在目录的路径
- ls(ll):都是列出当前目录中的所有文件,只不过ll列出的内容更加详细
- touch:新建一个文件,rm index.js 就很吧 index.js文件删除
- mkdir:新建一个目录,就是新建一个文件夹。eg:mkdir test
- rm -r :删除文件夹,eg:rm -f test
1 | rm -rf / #切勿在Linx中尝试!删除电脑中的全部文件 |
mv 移动文件 mv index.html src index.html 是我们要移动的文件,src是目标文件夹,必须保证文件和目标文件夹在同一目录下
reset 重新初始化终端/清屏
clear:清屏
history 查看历史命令
help 帮助
exit 退出
#“ 注释
Git配置
所有的配置文件都保存在本地。
查看配置:
1 | git config -l |
查看不同级别的配置文件:
1 | #查看系统config |
Git相关的配置文件:
- D:\Git\etc\gitconfig:Git安装目录下的gitconfig –system系统级
- C:\Users\lenovo\ .gitconfig 只适用于当前登录用户的配置 –global
可以直接编辑配置文件,通过命令设置后会响应到这里。
设置用户名和邮箱(用户标识,必要)
1 | git config --global user.name "你的名字" #名称 |
Git基本理论(核心)
工作区域
- Workspace:工作区,就是平时存放项目代码的地方
- Index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
- Respository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
- Remote:远程仓库,托管代码的服务器,可以简单地认为是
.git 文件要先git init才有,而且这个是隐藏文件夹
工作流程
- 在工作目录中添加、修改文件
- 将需要进行版本管理的文件放入暂存区域
- 将暂存区域的文件提交到git仓库。
Git项目搭建
创建工作目录与常用指令
工作目录(WorkSpace)一般是你希望Git帮助你管理的文件夹。可以是你的项目目录,也可以是空文件夹,建议不要有中文。
常用6指令:
本地仓库搭建
创建本地仓库的方法有两种:
1、创建全新的仓库,需要用Git管理的项目的根目录执行:
1 | #在当前目录新建一个Git代码库 |
2、执行后可以看到,仅仅在项目目录多出来一个.git目录,关于版本等所有信息都在此目录中。
克隆远程仓库
1.一种方式是克隆远程目录,是将远程服务器上的仓库完全镜像一份至本地!
1 | #克隆一个项目和它的整个历史(版本信息) |
2.去gitee或github上克隆测试。
Git文件操作
查看文件状态
文件四种状态:untracked,unmodify,modifie,staged
1 | #查看指定文件状态 |
忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立”.gitignore”文件,规则如下:
- 忽略文件中的空行或以#开始的行将会被忽略
- 可以使用Linux通配符。*代表任意多个字符,?代表一个字符,[]代表可选字符范围,{}表示可选的字符串。
- 如果名称最前面有!,表示例外规则,将不会被忽略。
- 如果名称最前面/,表示忽略此文件在此目录下,而子目录下的文件不忽略。
- 如果名称最后面/,表示要忽略此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
1 | #为注释 |
使用码云
- 注册登录码云,完善个人信息
- 设置本机绑定SSH公钥,实现免密登录。
- 将公钥信息public key添加到码云账号中即可。
- 使用码云建立一个自己的仓库。