分布式版本控制 Git
Git
- 什么是分布式版本控制(Git)
- 每个人都拥有全部的版本信息
- 公司内部服务器上也保存了全部的版本信息
- 什么是集中版本控制(SVN)
- 每个人只拥有自己同步到公司服务器的版本信息
- 所有的版本信息都保存在公司内部服务器上
Git下载
- Git下载
- 安装过程中,无脑操作,全部点击下一步即可
- 解释下载的三个程序的作用
- Git Bash:Unix与Linux风格的命令行(推荐)
- Git CMD:Windows风格的命令行
- Git GUI:图形界面的Git
Git相关配置
- 查看所有配置
- 查看系统配置
git config --system --list
- 对应于安装目录
Git\etc\gitconfig文件
- 查看用户配置
git config --global --list
- 对应于安装目录
C:\Users\kison-yk\ .gitconfig文件
- 设置用户名和邮箱(必须要搞一遍!不然无法提交项目!)
- 设置用户名
git config --global user.name "ykk"
- 设置邮箱地址
git config --global user.email "[email protected]"
Git理论知识(重点!!!)
- 工作区域
- 工作目录 Working Directory
- 暂存区 Stage/Index
- 本地目录 Repository/Git Directory
- 包含所有版本的数据,HEAD指向最新放入仓库的版本
- 远程目录 Remote Directory
- 远程服务器(托管代码的服务器),比如码云,Github
- 工作流程
- 在工作目录中添加、修改文件
- 将需要进行版本管理的文件放入暂存区域 git.add
- 将暂存区域的文件提交到git本地仓库 git.commit
- 提交到远程仓库 git.commit
Git项目搭建
- 本地仓库搭建的两种方式
- 创建全新的仓库
- 在需要Git管理的项目中执行
git init
- 执行以后会看到项目目录多了个.git目录(取消隐藏才可以看到)
- 克隆远程仓库
- 在需要Git管理的项目中执行
git clone https://gitee.com/kuangstudy/openclass.git
- 右边这个url地址是从github或者码云上克隆/下载那里复制过来的
- 执行以后会看到项目目录下载了远程仓库里的东西
常用命令
#查看指定文件状态
git status filename
#查看所有文件状态
git status
#添加所有文件到暂存区
git add .
#提交暂存区中的内容到本地仓库
git commit -m
如何忽略我们不需要提交到仓库的文件
问题:如何忽略我们不需要提交到仓库的文件?
解决方法:在需要Git管理的项目下建立".gitignore"文件
此文件有以下规则:
#是注释符,将被Git忽略
*.txt #忽略所有.txt结尾的文件
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的temp目录,不包括subdir/temp
build/ #忽略build/目录下的所有文件
doc
如何实现每次提交到远程仓库都是免密码登录
问题:如何实现每次提交到远程仓库都是免密码登录?(注意呀:如果在码云中新建仓库的时候采用的是私密,那么把远程仓库克隆到本地过程中需要输入账号和密码的)
解决办法:
1 在需要Git管理的项目下使用`ssh-keygen -t rsa`命令
2 打开C:\Users\kison-yk\.ssh\id_rsa.pub,全选复制,打开码云,点击设置里的SSH公钥,把复制的公钥粘贴进去(id_rsa里面存的是私钥)
IDEA集成Git
- 新建一个项目,然后把从远程仓库克隆下来的文件都复制粘贴到这个项目中
- 修改文件,使用IDEA操作Git,建议在IDEA的终端(terminal)直接使用命令行进行操作
- git add . 添加到暂存区
- git commit -m “msg” 提交到本地仓库(其中msg可以写上你想要的展示时出去的信息,比如:这是我的第一次提交etc)
- git push 提交到远程仓库