git 和 gitHub
git 分布式管理器
一个软件 ( 安装完毕运行在命令行的软件 )
直接搜索 git 官网进行下载
检测版本
1、鼠标右键 有一个 git Base Here ( 是一个命令行工具 )
2、在终端输入 git --version
作用 :
管理我们的文件夹
把我们的代码上传道 github
github 是一个管理代码的网站
只能接收 由git 上传的代码 所以起名叫 github
也是 一个程序员社交平台
我们可以将我们本地的代码上传到github
在异地可以下载下来继续使用
也可以做多人异地协同开发
名词 :
本地 : 自己使用的终端
远程 : 在网线那一头 服务器上
仓库 :
本地一个 被 git 管理的文件夹 我们叫本地仓库
远程上 一个 github 上的文件夹 我们叫一个远程仓库
git 的使用
安装完毕做一个全局的 配置
当你上传的时候 远程要知道是谁在上传
配置一下自己的 邮箱 和用户名
直接打开命令行 或者 鼠标右键 git Base Here
1、git config --list 查看你当前的配置列表
2、git config --global user.name "你的用户名(随意)"只限第一次注册使用即可,以后不更换推送的地址就不需要更改
3、git config --global user.email "你的邮箱"
git 管理文件夹
git 是不会随便管理你的文件夹的
我们需要告诉 git 这个文件夹 由他管理 git 才会帮你管理这个文件夹
有一个 git 初始化的指令
git init
告诉git 这个 文件夹及所有的子目录 都被 git 管理了 初始完毕是下面这样的页面
成功之后 会有一个.git 文件夹出现 这个文件夹是一个隐藏的文件夹
当一个文件夹 被 git 管理后 我们就可以使用 git 的一些指令来 操作文件了
git的常用指令
当一个文件夹 被 git 管理后
会自动生成三个区域
1、第一个是写我们源码的区域 (我们开发的区域)
2、暂存区 ( 暂时内容存储 )
3、历史区 : 存放所有历史版本的地方
想形成一个历史版本 只能把暂存区的所有内容生成一个历史版本 ( 历史版本只认暂存区的 )
想上传到 github 只能是上传 历史区 的所有内容
如何把 文件放在 暂存区保存
1、例如 在你新 创建的由 git init 管理的文件夹里面 新建一个 index.html 文件 创建成功之后 在 vscode 就会显示这个 index.html 字体是绿色的 并且后面有个 U 意思是 告诉你这个文件夹 还没有被 暂存区 管理 随时删除会丢失 在webstorm 上只是显示个 绿色
接下来 你输入 下面的命令之后 文件就会被放到 暂存区 管理 并且 在
git add xxx(内容)
git add index.html
这样就将 这个index.html 添加到 暂存区 了 在vscode 上面显示的 绿色 并且 后面是 A
指令 git status 查看当前文件夹 里面所有文件的状态
如果你新 建立 了一个空的文件夹 那么输入命令 git status 的时候 在命令行是看不到这个文件夹的 因为 git 不管理 空的文件夹
想要管理 文件夹 就必须在文件夹里面写上内容
git add 文件夹名字/ 这样 这个文件夹就会存放到 暂存区
如果你一次创建了很多的文件夹 或者文件 这些文件初始的时候是没有 被 git 管理的 那么你想一次性 的将 这些文件 或者文件夹 都让 git 管理 那么 输入指令
git add --all ( 简写形式 git add . )
就会将 这些没有被 git 管理的文件 存放到 暂存区 被 git 管理
把暂存区里面的东西 拉回到 开发区
指令 : git reset HEAD -- 文件名 ( -- 和 文件名中间有个空格 )
将 某一个文件 拉回到 开发区
git reset HEAD -- 文件夹名称/
git reset HEAD -- . 拉回所有 暂存区的内容
生成历史版本
把 暂存区的 内容形成一个历史版本
git commit -m "版本号(这个你自己随意起名字, 但是不推荐写中文版本 名字 )" 对本次的历史版本做一个说明 (成功之后 上面会告诉你有几个文件发生改变 存放到了 历史区)
这个指令 会把暂存区内的所有 东西形成一个 历史版本 放在历史区 里面进行保留
存放 到历史区成功之后 vscode 上面是这样显示的 还是白色
git log 查看历史区的所有版本
一旦形成 历史版本以后 暂存区里面就没有东西了
下次修改之后想形成 历史版本 就还要再 丢到 暂存区
文件里面更改完毕之后 在将 这些文件先 存放到暂存区 再次 添加到 历史区
跳转到 某一个历史版本
我们需要一个版本的 id
先使用 git log 查看历史版本
使用命令
git reset --hard 版本id ( 版本的id 在 你 git log 查看历史版本的时候 有一个 commit 后面的就是版本 id 复制下来 粘贴上去 就行了 )
查找 版本 id 或者是在 初始 .git 文件夹里面 有一个logs 文件夹 里面 有一个 HEAD 这里面就是记录着 你每次跳转的版本号
这上面的 第二句话 就是 你这次 操作跳转到的 id
这样 就可以将 历史版本来回切换了
将 历史区的版本 推送到远程
条件
1、你必须要有一个远程仓库
登录到你的 github 上面 左侧 有一个 绿色 的 New 按钮 就是创建一个 新的 仓库 或者在 你 github 页面的右上角 有一个 + 号 里面的 第一个 New repository 就是 新建一个远程仓库
这个 README.md 是一个文件 你可以写上 对推送这个文件的说明
创建成功之后 会生成一个 这样的页面 只不过现在是一个空的远程仓库
2、告诉 你的 git 上传到 哪一个 github 仓库
git remote add origin 仓库地址
git 使用指令
remote 远程
add 添加
origin 变量名 (值 : 你的仓库地址) ( 因为 你的仓库地址是很长的一串 每次写的时候就很麻烦 所以就是用 origin 来代替 你的仓库地址 ) 在
你的仓库地址 github 上面的那个仓库地址
执行完这个命令 git remote add origin 仓库地址 后 在.git 文件夹里面的 config 里面就可以看到 origin 这个你是自己可以修改的
接下来执行命令
git push -u origin master ( 推送到远程仓库 -u的作用是 下次你再推送版本的时候 就不用写 后面的 origin master 了 只要你的地址和 账号没有更改的情况下 相当于是一个记录的 功能 记录你这次的 地址 下次 再 推送到远程的时候 直接就 git push 就可以了 )
输入完 这个命令之后 会弹出 这个窗口 就是让你登录一下 你这次推送的 地址 完毕点击login 登录
登陆完毕 推送到远程 成功之后 会提示你这些信息
然后你进入你远程的 github 上点击左侧的 小猫 就会看到 你当前推送的版本
git 分支
分支的作用 :
git 分支是由指针管理起来的 所以创建 切换 合并 删除分支都非常快 非常适合 大型项目的 开发
在分支上做开发 调试好了 再合并到主分支上 那么每个人开发模块式都不会影响到别人
多人开发时 每个人还可以分出一个自己的专属分支 当阶段性 工作完成后应该合并到上级分支
分支的常用指令
1、查看已有 分支
git branch -a
2、创建 切换分支
创建并切换分支 git checkout -b 分支名称
这条命令相当于下面的 两条命令
创建分支 git branch 分支名称
切换分支 git checkout 分支名称
3、合并分支
git checkout master 先切换到主分支
git merge fenzhi 再将 B分支的代码 合并到主分支上 ( 在merge合并分支的时候 代码会有冲突 需要自己去解决这些冲突 )
4、删除与恢复分支
删除分支 git branch -d 分支名称 ( 当分支已经合并到主分支 并且不再需要接着该分支继续开发 ( 后期也可以从主分支中分离出来 ) ) 可以删除该分支
误删除的 分支需要恢复
git branch 分支名称 提交号 ( 提交号 通过 git log 查看 )
5、查看分支图
git log --graph
为了使分支图更加明确 可以加上一些参数
git log --graph --pretty=oneline --abbrev-commit
6、重命名分支
git branch -m 当前分支名 新的分支名