课程整体介绍
git版本控制系统(工作中必须掌握,1.5天)
gulp项目的构建(0.5天)
angular框架(5天)
git的作用:
- git是一个源代码管理工具(版本控制工具)
- 我们写的代码需要使用GIT进行管理.
- 源代码有必要管理吗?
- 1.0
- 2.0//
- svn,vss,vcs…..git
- 有必要, 因为人工的去处理不同的版本,做相应准备会很麻烦.
- git
- git就是一个代码文件的时光机,你可以通过git随意的切换到任意一个你曾经的代码的版本.
- git是linux之父当年为了维护linux—linus之前也是手动维护的.
- linus自己写了一个版本管理的工具(GIT).
- 类比:玩游戏的时候我们只要把当前的进度存档了,可以随时切回来.
- 版本控制工具一般用得最多的是svn和git,git比svn要更高级更难学一些,大家学会了git回头公司要是使用svn,学起来很快.
git安装
- 初始化git仓储(仓库)
- 这个仓库会存放,git对我们项目代码进行备份的文件
- 在项目目录右键打开 git bash
- 执行命令 git init
自报家门
- 就是在git中设置当前使用的用户是谁:配置个人的用户名称和电子邮件地址
- 命令:git config –global user.name “codeera”
- 命令:git config –global user.email “13772713960@qq.com”
查看配置信息
- 要检查已有的配置信息,可以使用 git config –list 命令:
把大象放到冰箱需要几步
- 打开冰箱门
- 放大象
- 关闭冰箱门
把代码存储到.git仓储中
- 1.把代码放到仓储的门口
- git add ./readme.md 所指定的文件放到大门口
- git add ./ 把所有的修改的文件添加到大门口
- 2.把仓储门口的代码放到里面的房间里去
- git commit -m “添加说明”
可以一次性把我们修改的代码放到房间里(版本库)
- git commit –all -m “一些说明”
- –all表示是把所有修改的文件提交到版本库
查看当前的状态
- 可以用来查看当前代码有没有被放到仓库中去
- 命令: git status
git中的忽略文件
- .gitignore,在这个文件中可以设置被要忽略的文件或者目录.
- 被忽略的文件不会被提交仓储里去.
- 在.gitignore中可以书写要被忽略的文件的路径,以/开头,一行写一个路径,这些路径所对应的文件都会被忽略,不会被提交到仓储中
- 写法
- /.idea 会忽略.idea文件
- /js 会忽略js目录里的所有文件
- /js/*.js 会忽略js目录下所有js文件
查看日志
- git log 查看历史提交的日志
- git log –oneline 可以看到简洁版的日志
回退到指定的版本
- git reset –hard Head~0
- 表示回退到上一次代码提交时的状态
- git reset –hard Head~1
- 表示回退到上上次代码提交时的状态
- git reset –hard [版本号]
- 可以通过版本号精确地回退到某一次提交的状态
- git reflog
- 可以看到每一次切换版本的记录:可以看到所有提交的版本号
分支
- 默认是有一个主分支master
创建分支
- git branch dev
- 创建了一个dev分支
- 在刚创建时dev分支里的东西和master分支里的东西是一样的
切换分支
- git checkout dev
- 切换到指定的分支,这里的切换到名为dev的分支
- git branch 可以查看当前有哪些分支
合并分支
- git merge dev
- 合并分支内容,把当前分支与指定的分支(dev),进行合并
- 当前分支指的时 git branch 命令输出的前面有*号的分支
- 合并时如果有冲突,需要手动去处理,处理后需要再提交一次.
GitHub
- https://github.com
- 不是git,只是一个网站
- 只不过这个网站提供了允许别人通过git上传代码的功能
提交代码到github(当作git服务器来用)
git push [地址] master
- 示例: git push https://github.com/13772713960/CodeEra.git master
- 会把当前分支的内容上传到远程的master分支上
git pull [地址] master
- 示例: git pull https://github.com/13772713960/CodeEra.git master
- 会把远程分支的数据得到:(注意本地-要初始一个仓储!)
git clone [地址]
- 示例: git clone https://github.com/13772713960/CodeEra.git master
- 会得到远程仓储相同的数据,如果多次执行会覆盖本地内容
ssh方式上传代码
- 公钥 私钥,两者之间是有关联的.
- 生成公钥,和私钥
- ssh-keygen -t rsa -C “xiaoming@sina.com”
在push和pull操作进
- 先pull,在push
- 当我们在push时,加上-u参数,那么在下一次push时,我们只需要写上 git push 就能上传我们的代码。(加上-u之后,git会把当前分支与远程的制定的分支进行关联。 git push origin master)