git是什么:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作系统)
常见的源代码管理工具
git : 分布式版本控制系统
svn : 集中式的版本控制系统
什么是版本控制系统
版本控制系统: 用来控制源代码的版本 (类似QQ 微信 版本升级) 软件升级后 代码也会变化 代码也需要有一个版本来规范 (当涉及到版本更新 或者回退 要使用对应版本的代码)
版本控制系统的分类
分布式的版本控制系统 : 代码的版本分别在每个开发人员电脑上管理 管理好了之后代码的共享放到git的服务器里面 实现代码共享(相互之间可以提交和获取代码)
集中式的版本控制系统 : 把代码的版本集中到一台服务器上管理 svn详情: https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6
git的工作原理
1. 传统代码管理的原理 是通过文件 + 日志文件 来管理代码的版本 2. 使用git之类的工具管理: 代码统一放到一个文件夹里面 (会在当前要管理的代码文件夹里面创建一个.git文件夹(git本地仓库)) 代码的版本管理是在本地git仓库里面进行管理
git的基本使用
1. 了解git一些常见命令 1. git add 2. git commit 3. git log 4. git status 5. git reset 6. git init 2. 安装git环境(安装了环境之后才可以使用git命令来管理源代码) 1. 需要先安装 Git-2.13.0-64-bit.exe 2. 双击打开安装包一路下一步 3. 测试是否安装成功 在桌面任意空白处右键出现git bash here 表示成功 3. 配置当前git用户和邮箱 1. git是在本地进行源代码版本管理 (就需要一个本地管理代码的账户(用户)) 2. 配置当前git用户 (如果不配置用户和邮箱是无法使用git来管理) 3. 配置命令 打开git bash黑窗 分别执行 git config --global user.name 名字 (取个名字) git config --global user.email 邮箱(个人的邮箱) 4. 验证用户是否配置成功 打开C盘 》 用户 》 当前你登录的用户 》 .gitconfig文件 (可以打开当前文件修改用户和邮箱)
git的基本使用 (命令都是在git bash黑窗执行)
1. 创建一个本地的文件夹(项目的文件夹里面包含了项目的源代码) 项目文件夹 2. 在当前文件夹下去初始化一个git的仓库(可以被git管理) 进入项目 》 右键打开git bash here 输入 git init 回车 完成后 在当前项目里面会有一个.git文件夹 记录当前本地仓库(如果看不到需要勾上显示隐藏文件) https://jingyan.baidu.com/article/af9f5a2dc1f91243150a4553.html https://jingyan.baidu.com/article/ab69b27091fb1c2ca7189fed.html 3. 把当前项目需要被管理的源代码文件和文件夹 添加到本地仓库 输入 git add 文件名.后缀名 回车 输入完成后没有出现报错就是成功 如果文件很多 都需要添加 输入 git add . 回车 .和add之间有空格 4. 验证当前添加是否成功 输入 git status 回车 1. 绿色状态 new file 当前新的文件被添加 2. 红色状态 警告 有文件没有被添加到git仓库管理 5. 把当前暂存区添加的文件 提交到本地仓库(提交后就表示创建了一个代码的版本) 输入 git commit -m '提交日志' 提交完成后就会把代码提交到.git文件夹(git仓库) 并且会自动创建一个代码的版本 [master (root-commit) d6f5a75] d6f5a75当前提交的版本号 6. 查看当前本地仓库的提交日志 输入 git log 查看当前提交了几次 分别什么时候提交 提交的版本号等信息 commit d6f5a75b8d27d71412a523a5de55c6c62c400f6c (HEAD -> master) 完整版本号 Author: zhengwei <228197155@qq.com> 作者(配置的用户) Date: Wed Jun 6 11:31:33 2018 +0800 提交时间 2018-06-06-11-31第一次提交到本地仓库 提交的日志 7. 后续如果添加文件 (add commit 是一起的 只有代码有更改都要再次执行) 1. 再把新增的文件 添加到暂存区 git add . 2. 把暂存区的文件 提交到本地仓库 git commit -m '再次输入提交日志' 3. 执行完后后 git log查看日 会显示所有提交的日志 会按照从新到旧显示 8. 后续如果修改了已经被管理的文件 1. git status 可以查看当前版本的状态 modified: 表示当前的文本代码被更改了 红色表示更改了但是未添加 绿色表示当前文件更改已经添加 但是未提交 2. 如果红色没有添加 git add . 3. 如果绿色没有提及 git commit -m '提交日志' 9. 如果需要知道修改了什么代码 输入 git diff查看当前代码 和 修改之前的版本库代码的对比 可以看到当前修改了那个文件 修改了哪一行代码 -表示之前的代码 + 表示修改后的代码 如果修改后又撤回了 无法看到变化 10. 如果需要回到上一个版本的代码 输入 git reset --hard HEAD^ 注意回退是不可逆的 新写的代码就没了 如果你写了很多代码但是出了问题短时间找不到需要回退 1. 把新写的代码备份一下 2. 再执行回退代码来回退版本 还可以使用指定的版本回退 git reset --hard 版本号 git reflog 查看版本号 例如 git reset --hard a4a3ae9
11. .git文件存储了所有的代码的版本管理 这个文件夹是不能删除
12. 总结 1. git init 初始化本地仓库 2. git add . 添加要管理的代码(当前的代码才能被git管理) 3. git commit -m '提交日志' 把暂存区的文件去提交到git仓库 4. git status 查看状态 5. git log 查看提交日志 6. git diff 查看代码修改 7. git reset --hard 版本回退 8. git reflog 查看所有版本号 9. git reset --hard HEAD^ git reset --hard 版本号 可以回退到上一个版本 或者指定版本 如果当前最新的代码没有提交马上回退 当前最新代码就没有了 如果当前最新代码提交了但是再次回退 当前最新的代码还能找到
github的概念
1. github: 是一个git的服务器提供商 帮我们共享代码(托管代码) 也是一个开源平台 2. git : 只是一个源代码管理工具(管理代码的版本) 不能实现代码的共享 使用git 来操作github实现代码的共享
github的使用
1. 注册一个github账号 2. 打开https://github.com/join?source=header-home 注册页面 3. 输入用户名 邮箱 密码 4. 选择免费账户 5. 输入一些描述提交 6. 点击 start a project 7. 进入你的邮箱验证验证邮箱
使用github实现代码的分享
1. 使用github去创建一个服务器仓库 1. 点击头像 》 your profile 2. 点击respositories 3. 点击右上角的new 4. 输入仓库名称(仓库名不能有中文) 5. 点击create repository 2. 把本地的代码提交到github的仓库里面 1. 打开当前项目的git bash 黑窗 执行关联服务器仓库的代码(每个人仓库不一样 要使用自己的命令) git remote add origin https://github.com/tu0415/my-letao 2. 把本地仓库代码提交到服务器仓库里 git push -u origin master 3. 验证代码是否提交成功 : 刷新github的仓库页面 如果远程仓库有代码就表示成功
git+github的完整使用步骤
1. 创建一个项目文件夹 letao项目2 2. 当前项目创建一个本地仓库 git init 3. 把当前项目源代码添加到暂存区 git add . 4. 把暂存区的代码提交到本地仓库 git commit -m '提交日志' 5. 去github创建一个服务器仓库 点击头像 》 your profile 》 点击respositories 》点击new 新建仓库 》 输入仓库名点击确定 6. 指定当前本地仓库要关联的服务器仓库 git remote add origin https://github.com/tu0415/my-letao 指定远程服务器仓库的地址 7. 把当前本地仓库的代码提交到服务器仓库里面 git push -u origin master 把本地仓库的源代码 推送到远程的master 8. 提交完成后在github服务器上就能看到你提交的代码 9. 如果后面再次添加代码 重复 3 4 7 步骤 git add . git commit -m '添加index.js' git push -u origin master
使用SSH实现无密码提交方式
1. 原理在你当前电脑生成一个唯一的密钥 把密钥绑定到github账号 你在你当前密钥电脑上做代码提交操作都可以不需要输入密码 如果换了电脑要重新生成和绑定 2. 使用生成密钥命令生成一个密钥 打开git bash 黑窗 输入 ssh-keygen -t rsa 一路回车 出现2048就表示成功 3. 找到生成的密钥 C盘 》 用户 》 Administrator(你当前登录的用户) 》 .ssh文件夹 》 打开id_rsa.pub 复制pub文件里面乱码 4. 打开github用户设置 点击 左侧SSH and GPG keys 5. 点击右上角的new SSH key 输入title 标题随便输入 输入key pub里面复制的乱码 点击add key 6. 把git和github使用步骤重复一次 创建一个项目 git init git add . git commit -m '提交日志' 指定远端地址注意远端地址要指定ssh地址 git remote add origin git@https://github.com/tu0415/my-letao git push -u origin master