GIT和Github
一个提供代码管理(托管)的公告平台 , 我们以及众多开发者 , 会把自己生产的组件/类库/插件/框架 等托管到这个平台中 , 供别人下载使用和研究 在 github 中 , 我们可以创建仓库来管理自己的项目文件 , 而 github支持开发者通过git操作 , 把本地的项目代码推送到指定的仓库中 , 它还提供静态web页面的发布等 在国内有一个和github类似的网站 : coding , 和github类似 , 也是提供代码管理的平台
- 基于github创建仓库管理代码
###git的基础知识
git 是一个分布式代码版本管理控制系统
- 记录当前产品代码的所有版本信息 (历史修改信息) ,而且快速回退到某一个具体的版本
- 方便团队协作开发 , 能够检测代码冲突 , 能够合并代码等
svn
: 在git诞生前就已经存在的版本控制系统 , 不过他是 "集中式" 管理
git
: 是分布式版本管理系统
-
集中式版本管理系统
-
分布式版本控制系统
###git的工作原理和基础操作 在本地创建git仓库管理我们的代码
初次使用git , 现在本地配置一些基础信息 $ git config -l $ git config --global user.name xxx $ gitconfig --global user.email xxx 建议大家配置的用户名和邮箱和github保持一致(这样以后在本地向github推送内容的时候 , 能够展示出是谁推荐的)
git init
会在当前目录中创建一个空的仓库 , 文件目录中生成一个 ".git"的隐藏文件 , 这个文件很重要 , 我们本地仓库的版本信息等都存储在这里
.gitignore
在当前目录( git 仓库根目录) 创建一个 ".gitignore" 文件 , 这个文件中存储了当git提交的时候所忽略的文件
###GIT工作原理及操作
当我们在本地创建一个git仓库后 , 我们可以基于这个仓库管理我们的代码
git的工作流程
每一个git仓库都划分为三个区域
- 工作区 : 编辑代码的地方
- 暂存区 : 临时存储要生成版本代码的地方
- 历史区 : 存储的是生成的每一个版本代码
从工作区提交到暂存区
$ git status 查看代码或者文件的状态(当前处于哪个区域) : 红色(当前处于工作区 , 还没有提交到暂存区) 绿色 (当前处于暂存区 , 还没有提交到历史区) 若果没有文件, 代表三个区域代码已经同步 , 历史版本也在历史区生成了
$ git add . /$ git add -A
把当前工作区中所有最新修改的文件 , 都提交到暂存区
暂存区到历史区
$ git commit
这样执行后 , 会弹出一个提交文本输入界面, 树妖我们编写本次提交到历史区 , 给当前版本写的备注信息 先按 i 进入编辑插入模式 输入备注信息 按ESC 输入 ":wq" 保存并退出
$ git commit -m '自己需要编写的备注信息'
查看当前历史区提交的记录
$ git diff
工作区 VS暂存区
$ git diff master
工作区VS历史区 (master 分支)
$ git diff --cached
暂存区VS历史区
###git和github同步 1.让本地的git仓库和远程仓库建立关联 $ git remote -v
查看所有的关联信息 $ git remote add xxx [远程仓库git地址]
建立关联 $ git remote remove xxx
移除关联
我们远程仓库关联在一起的名字默认是: origin , 当然自己可以随意修改 2. 把本地的代码推送到远程仓库上 , 或者从远程仓库上拉去最新的信息到本地仓库
我们本地推送和大区的信息 , 既有代码也有版本信息 , 所以说与其说是拉去 , 不如说是和远程仓库保持信息的同步
再推送之前 , 我们都应该先拉取 $ git pull origin(这个名字就是和远程仓库关联的名字 , 以自己设置的为主) master
master从远程仓库的master分支拉取最新的信息
$ git push origin master
把自己本地的信息推送到远程仓库的master分支下
以上是操作知识点 , 真实项目开发流程
- LEADER 会首先创建一个远程操作 (这个仓库可能是空的 , 也可能是包含了项目需要的基础的结构信息)
- 作为开发者 ,我们需要在本地创建一个本地仓库 , 还需要让当前本地的仓库和远程仓库保持关联
原始做法 : git remote add origin [git仓库地址]
简单做法 git clone [远程仓库地址] [克隆后的名字 : 可以不设置 ,默认是仓库名]
- 在本地开发产品 , 需要同步的时候 ,我们首先把工作区那日容在本地仓库中放到历史区 ,生成版本信息(git add ./ git commit -m) , 在本地历史区的信息推送到远程仓库上 (git pull /git push)
4.在团队协作开发的时候 ,LEADER 会在自己的github账号下创建一个远程仓库 , 那么团队其他成员在向这个远程仓库推送消息的时候 , 使用自己的账号是没有推送权限的 , 我们需要把当前这个远程仓库 , 在github中擦混关键工作群组 ,让更多的人用自己的账号也有操作权限
小组成员在自己的邮箱中收到一封收到一封邀请邮件 , 需要确认同意
注:这是本人第一次发文章还望多多支持我,另外这是我建的qq群里面有很多资源,希望能和大家一起学习讨论共同进步!
这是群号:778734441
这是跟着周哮天老师一起学的笔记,后期我还会分享更好的资料给大家,希望大家多多支持,我会发布很多优秀的作品出来的!!!