深圳web前端培训
深圳千锋教育web前端,强师带你勇闯前端大门!
快速咨询原中科院计算所专家 千锋HTML5教学总监,千锋UI教学总监,千锋北科校区校长。原中科院计算所专家,曾任北京市高校师资培训中心特邀讲师,多年担任北京市属高校师资培训工作。11年的UI、WEB前端开发教育培训经验,4年HTML5开发经验,深刻理解教学研究、教学管理
原天天象上技术负责人 三年多web前端工作经验,有2年的移动端开发基础,负责过多个web端与移动端的项目开发,从事天天象上web2.0的pc项目,独立完成天天象上M站的构建与开发,精通angular,ionic,vue,bootstrap,swiper,highcharts等主流开发框架和流行插件。
原去哪儿网技术总监 10年以上Web前端开发经验,曾在运营大型门户网站、电商网站及研发电子政务平台的公司就职。有3年以上教学经验,出品《Web前端经典时尚案例》,《DOM探索之旅》,《Avalon探索之旅》等视频教程。
前端开发专家 千锋HTML5讲师,性格开朗,为人细心,做事认真,有较强的责任心,多年的前端项目开发经验。常以幽默的语言活跃课堂气氛。授课思路清晰,以贴切的案例,形象的演示一些难以理解的内容,让学员轻易掌握知识点并能深刻的理解和运用。
感谢老师为我们的辛苦付出,为我们准备资料 认真备课 认真耐心回答我们的问题
-学员1
严于律己,克忠职守,人生楷模,时代标杆
-学员2
特别可爱的老师,超级喜欢,我们的小伙伴,加油哦老师
-学员3
PC端网站布局
HTML5+CSS3基础
WebApp页面布局
Web前端开发工程师/前端页面布局与重构工程师等含有技术含量的工程师。
4-6K
jQuery经典交互特效开发
PHP+MySQL后端基础
前端工程化与模块化应用
HTML5大前端工程师/高级HTML5大前端工程师/网站开发工程师/移动前端开发工程师
6-10K
微信小程序开发
多端小程序开发
HTML5大前端工程师/移动前端App开发工程师/微信开发工程师/数据可视化开发工程师
10-15k
无须自备电脑
千锋提供高质量设备 保你流畅学习
无需苦恼住宿
千锋Web大前端在高校内部 入学即入住大学寝室
无需担心花费
大学食堂饭菜便宜 花样繁多气氛良好
一地学习,全国就业:就业体系覆盖全国,超18000家合作企业定期招聘,学员就业可随心选择。不同的城市,同样的全程面授。 千锋始终在坚持:全国各校区讲师统一管理,招聘标准一致,课程大纲全范围内定期升级更新,关心学员学习质量。
第1阶段:前端页面重构 内容包含了:(PC端网站布局项目、WEB前端CSS3基础项目、WebApp页面布局项目) 第2阶段:Ja.....
北京WEB前端找工作还是很好找的,而且工资待遇也不错,北京WEB前端的机构还是很多的,学费可以多家了解下。.....
你怀着一份瑰丽的梦想,寻找久远的发展道路...... 我们怀着一份热诚和信念,为你领航,从不停歇...... .....
你好,Web前端目前的薪资及前景还是非常好的,如果想学前端HTML5课程,是进行专业性的学习。在你选择学校的时候可以重点从师资、课程设置、学生就业服务三方面考虑.....
在去年写过一篇文章“分享关于Git服务器相关配置之心得”,介绍了Git服务器配置和一些爬坑案例,没看过的童鞋可以去学习下。
GIT和SVN有些相似之处,用过SVN的童鞋发现,有些操作类似,如果有你有SVN的基础,在学习git项目操作的时候入门比较快的。那么有童鞋就要问了,GIT和SVN有什么区别呢?
Git 与 SVN 区别GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。
Git 与 SVN 区别点:
1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 安装配置Linux 平台上安装Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:
各 Linux 系统可以很简单多使用其安装包管理工具进行安装:
Debian/Ubuntu:
Debian/Ubuntu Git 安装命令为:
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ apt-get install git-core $ git --version git version 1.8.1.2Centos/RedHat
如果你使用的系统是 Centos/RedHat 安装命令为:
$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel $ yum -y install git-core $ git --version git version 1.7.1Windows 平台上安装在Windows 平台上安装 Git很简单,下载个压缩包就可以了,这里就不多说了,有疑问的可以加入我们的群(295431592)讨论。安装包下载地址:http://msysgit.github.io/。
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
Mac 平台上安装在 Mac 平台上安装 Git 最容易的当属使用图形化的 Git 安装工具,下载地址为:https://sourceforge.net/projects/git-osx-installer/
安装界面如下所示:
OK,GIT基本介绍就这么多内容,接下来我们需要了解如何使用GIT在项目中的操作。其实GIT操作可以分位两种方法,一种是跟SVN差不多的,如下图:
这种方法就不多介绍,玩过SVN的,掌握很简单,如果您有不懂加群。另外一种GIT操作就是GIT命令来操作项目文件,这是我们本次分享的主题。
常用Git命令GIT命令有很多,在网上看了下一些大神们的总结,各有千秋。接下来就我收藏的一些GIT命令方法:
1、新建库文件$ git init该命令执行完后会在当前目录生成一个 .git 目录。使用我们指定目录作为Git仓库。
接下来我们初始化GIT代码库:
$ git init jiangweishan初始化后,会在 jiangweishan 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
$ git add *.c $ git add README $ git commit -m '初始化项目版本'以上命令将目录下以 .c 结尾及 README 文件提交到仓库中。
如果我们想从代码库中把代码拷贝到本地,可以运行以下命令:
git clone如果我们需要克隆到指定的目录,可以使用以下命令格式:
git clone参数说明:
repo:Git 仓库。
directory:本地目录。
比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit2、配置信息在代码库建好后,我们还需要配置一些信息,比如你团队旗下的成员等信息。
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。
这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings\$USER。
此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。
1) 用户信息
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "jiangweishan" $ git config --global user.email test@jiangweishan.com如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
2) 文本编辑器
设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
$ git config --global core.editor emacs3) 差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:
$ git config --global merge.tool vimdiffGit 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。
当然,你也可以指定使用自己开发的工具。
4) 查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list3、增加/删除文件# 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file] # 改名文件,并且将这个改名放入暂存区 $ git mv [file-original] [file-renamed]4、代码提交# 提交暂存区到仓库区 $ git commit -m [message] # 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message] # 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -a # 提交时显示所有diff信息 $ git commit -v # 使用一次新的commit,替代上一次提交 # 如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend -m [message] # 重做上一次commit,并包括指定文件的新变化 $ git commit --amend [file1] [file2] ...5、分支# 列出所有本地分支 $ git branch # 列出所有远程分支 $ git branch -r # 列出所有本地分支和远程分支 $ git branch -a # 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] # 新建一个分支,并切换到该分支 $ git checkout -b [branch] # 新建一个分支,指向指定commit $ git branch [branch] [commit] # 新建一个分支,与指定的远程分支建立追踪关系 $ git branch --track [branch] [remote-branch] # 切换到指定分支,并更新工作区 $ git checkout [branch-name] # 切换到上一个分支 $ git checkout - # 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] # 合并指定分支到当前分支 $ git merge [branch] # 选择一个commit,合并进当前分支 $ git cherry-pick [commit] # 删除分支 $ git branch -d [branch-name] # 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch]6、标签# 列出所有tag $ git tag # 新建一个tag在当前commit $ git tag [tag] # 新建一个tag在指定commit $ git tag [tag] [commit] # 删除本地tag $ git tag -d [tag] # 删除远程tag $ git push origin :refs/tags/[tagName] # 查看tag信息 $ git show [tag] # 提交指定tag $ git push [remote] [tag] # 提交所有tag $ git push [remote] --tags # 新建一个分支,指向某个tag $ git checkout -b [branch] [tag]7、查看信息# 显示有变更的文件 $ git status # 显示当前分支的版本历史 $ git log # 显示commit历史,以及每次commit发生变更的文件 $ git log --stat # 搜索提交历史,根据关键词 $ git log -S [keyword] # 显示某个commit之后的所有变动,每个commit占据一行 $ git log [tag] HEAD --pretty=format:%s # 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 $ git log [tag] HEAD --grep feature # 显示某个文件的版本历史,包括文件改名 $ git log --follow [file] $ git whatchanged [file] # 显示指定文件相关的每一次diff $ git log -p [file] # 显示过去5次提交 $ git log -5 --pretty --oneline # 显示所有提交过的用户,按提交次数排序 $ git shortlog -sn # 显示指定文件是什么人在什么时间修改过 $ git blame [file] # 显示暂存区和工作区的差异 $ git diff # 显示暂存区和上一个commit的差异 $ git diff --cached [file] # 显示工作区与当前分支最新commit之间的差异 $ git diff HEAD # 显示两次提交之间的差异 $ git diff [first-branch]...[second-branch] # 显示今天你写了多少行代码 $ git diff --shortstat "@{0 day ago}" # 显示某次提交的元数据和内容变化 $ git show [commit] # 显示某次提交发生变化的文件 $ git show --name-only [commit] # 显示某次提交时,某个文件的内容 $ git show [commit]:[filename] # 显示当前分支的最近几次提交 $ git reflog8、远程同步# 下载远程仓库的所有变动 $ git fetch [remote] # 显示所有远程仓库 $ git remote -v # 显示某个远程仓库的信息 $ git remote show [remote] # 增加一个新的远程仓库,并命名 $ git remote add [shortname] [url] # 取回远程仓库的变化,并与本地分支合并 $ git pull [remote] [branch] # 上传本地指定分支到远程仓库 $ git push [remote] [branch] # 强行推送当前分支到远程仓库,即使有冲突 $ git push [remote] --force # 推送所有分支到远程仓库 $ git push [remote] --all9、撤销# 恢复暂存区的指定文件到工作区 $ git checkout [file] # 恢复某个commit的指定文件到暂存区和工作区 $ git checkout [commit] [file] # 恢复暂存区的所有文件到工作区 $ git checkout . # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 $ git reset [file] # 重置暂存区与工作区,与上一次commit保持一致 $ git reset --hard # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 $ git reset [commit] # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 $ git reset --hard [commit] # 重置当前HEAD为指定commit,但保持暂存区和工作区不变 $ git reset --keep [commit] # 新建一个commit,用来撤销指定commit # 后者的所有变化都将被前者抵消,并且应用到当前分支 $ git revert [commit] # 暂时将未提交的变化移除,稍后再移入 $ git stash $ git stash pop # 生成一个可供发布的压缩包 $ git archive10、冲突处理一个项目,多个成员维护,有时候难免出现文件冲突的情况,所以我们要养成“每次完成项目修改后,即时提交到代码库”的好习惯。那么一旦出现冲突,我们如何处理呢?
一般采用的是合并冲突,合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改。接下来我们可以模拟下冲突处理:
准备新的feature1分支,继续我们的新分支开发:
$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:
Creating a new branch is quick AND simple.在feature1分支上提交:
$ git add readme.txt $ git commit -m "AND simple"[feature1 75a857c] AND simple 1 file changed, 1 insertion(+), 1 deletion(-)切换到master分支:
$ git checkout master Switched to branch 'master' Your branch is ahead of 'origin/master' by 1 commit.Git还会自动提示我们当前master分支比远程的master分支要超前1个提交。
在master分支上把readme.txt文件的最后一行改为:
Creating a new branch is quick & simple.提交:
$ git add readme.txt $ git commit -m "& simple" [master 400b400] & simple 1 file changed, 1 insertion(+), 1 deletion(-)现在,master分支和feature1分支各自都分别有新的提交,这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,我们试试看:
$ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.果然冲突了!Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:
$ git status # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Unmerged paths: # (use "git add/rm我们可以直接查看readme.txt的内容:
Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage. Git tracks changes of files. <<<<<<< HEAD Creating a new branch is quick & simple. ======= Creating a new branch is quick AND simple. >>>>>>> feature1Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存:
Creating a new branch is quick and simple.再提交:
$ git add readme.txt $ git commit -m "conflict fixed" [master 59bc1cb] conflict fixed用带参数的git log也可以看到分支的合并情况:
$ git log --graph --pretty=oneline --abbrev-commit * 59bc1cb conflict fixed |\ | * 75a857c AND simple * | 400b400 & simple |/ * fec145a branch test ...最后,删除feature1分支:
$ git branch -d feature1Deleted branch feature1 (was 75a857c).冲突搞定。
总结GIT是我们必须掌握一项基本技能,相对于SVN,它更加稳定;在管理远程库文件的时候,目前它是首选。
从入门到精通,需要大家花更多的时间去实践和研究,还没了解过的童鞋,还不赶紧行动起来。
同意《隐私政策》并允许推荐给更多服务商为您提供服务!