Git学习笔记
Git学习笔记
Git简介
Git是一个分布式版本控制系统,常见的CVS,SVN都是集中式的版本控制系统。
集中式和分布式的区别
集中式:版本库集中存放在中央服务器,在本地进行版本修改时,首先要从中央服务器获取最新版本到本地,然后修改,最后再上传给中央服务器。缺点:必须联网才能工作,传输速度会受网速影响,本地只有当前同步的版本。
分布式:每个人的本地电脑都有一个完整的版本库,在本地修改后,将修改推送给协作的人即可;安全性较高,每个人的电脑上都有备份;提供强大的分支管理。
Windows上安装Git
官网下载后,无脑安装即可
配置Git
- 查看系统配置:
git config --system --list
- 查看当前用户配置:
git config --global --list
- 配置用户名:
git config --global user.name "xxx"
- 配置邮箱:
git config --global user.email "xxx@qq.com"
Git中的区域
- 工作区workspace:存放本地项目代码的地方
- 暂存区index/stage:临时存放改动
- 本地仓库repository:安全存放数据的位置,里面有项目的所有版本数据
- 远程仓库remote:远程仓库github,gitee
Git工作流程
- 在工作目录修改文件
- 在需要进行版本管理的文件放入暂存区
git add .
- 将暂存区文件提交到仓库
git commit
- 推到远程仓库
git push
Git文件的四种状态
- Untracked:未跟踪,没有加入到git库,只在本地项目中
- Unmodify:文件在git库中,未修改
- Modified:文件在git库中,已修改
- Staged:暂存状态
Git命令
git init
:初始化git项目,会创建一个隐藏的.git文件git clone [url]
:远程克隆项目git status [filename]
:查看文件状态git add .
:添加所有文件到暂存区git commit -m "message"
:提交到本地git push
上传到远程仓库
Git忽略文件
当我们不想将某些文件纳入版本控制中,比如数据库文件,可以在主目录下创建.gitignore
文件来配置忽略的文件,规则如下:
- 空行和以
#
开头的行会被忽略 - 可以使用Linux通配符:
*
表示任意字符;?
表示一个字符;[abc]
表示可选字符范围;{str1,str2}
表示可选字符串范围 - 如果名称前有
!
表示例外,该文件不被忽略
Git连接码云
-
在本地
C:\Users\dell\.ssh
目录下使用ssh-keygen -t rsa
生成公钥 -
将公钥注册到码云