如下均针对前端来进行简单介绍和整理:前端
1、Git介绍git
Git是一个开源的分布式版本控制系统,能够有效、高速地处理从很小到很是大的项目版本管理。github
所谓版本控制应实现如下几点,解决多人协做问题,提升开发效率,实现版本控制windows
能够理解为一个工具,能够和代码仓库一块儿使用。咱们实验室用的代码仓库是coding.bash
建立项目的流程以下:服务器
一、项目经理先建立一个本地库和远程库,此时远程库是空的,文件、目录和历史记录都在他的本地库,将本地内容push到远程库。
二、软件开发人员将远程库clone下来,clone操做不只会下载内容,还会建立、初始化令狐冲的本地库。他在本地修改代码,在push到远程库以前,须要先加入该项目团队才能够提交。对于其余人的修改、更新提交到远程仓库,能够pull到本身的本地库。ssh
暂存区:临时存储,打算要提交还没提交,从此能够提交本地也能够撤回。
本地库:存储每个历史版本。分布式
3、Git的安装配置工具
一、下载windows版本的git的地址:https://git-scm.com/download/win ,选择对应版本进行下载,安装过程简单,仅须要点击next便可。学习
二、安装后,右键选择git bash,配置用户我的信息,指令以下:
git config --global user.name “hxxxe”
git config --global user.email "hxxxehxx@163.com"
这一步的做用的用来区分不一样的用户,咱们可使用git config --list指令来查看咱们配置的结果:
3.咱们要使用git克隆coding上的代码或者上传本地代码,因为许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,咱们要生成一份SSH 公钥。 先确认本身是否已经拥有密钥,若是没有就在本地使用git生成一个公钥,再把这个公钥添加到coding的SSH公钥就能够了。
(1)在git命令窗口输入指令:cd ~/.ssh 检查电脑中是否有ssh key存在
若是存在,则会显示以下,id_dsa
或 id_rsa
命名的文件,其中一个带有 .pub
扩展名。 .pub
文件是你的公钥,另外一个则是私钥。 若是找不到这样的文件(或者根本没有 .ssh
目录):
(2)若是不存在,输入指定:$ ssh-keygen 来生成公钥:
首先 ssh-keygen
会确认密钥的存储位置(默认是 .ssh/id_rsa
),而后它会要求你输入两次密钥口令。若是你不想在使用密钥时输入口令,将其留空便可。最后会生成文件在指定位置。
(3)生成ssh公钥后复制 .pub
文件内容,添加到coding就会有权限了。 公钥形式相似以下:
4、git的使用
咱们会使用到的git基本指令有这么几句:
一、克隆
clone已有仓库
git clone git@github.com:XXX/yyyy.git //XXX为github的用户名,yyy为仓库名
二、提交
git pull //拉取最新代码
git add mmm.sss //mmm为文件名称,sss为文件拓展名(经常使用git add .)
git commit -m "hhh" //hhh为git commit 提交信息,是对这个提交的概述
git push //更新GitHub上的仓库
三、查看提交日志
git log
四、更改提交的操做
git reset //回溯历史版本
git reset --hard //回溯到指定状态,只要提供目标时间点的哈希值
git reset --hrad ddd //ddd为要推动历史的哈希值
咱们不经常使用的git指令
一、用git建立仓库
mkdir nnn //仓库名
cd hhh
git init //初始化仓库
git status //查看仓库状态
touch README.md //建立READEME.md文件
git add ERADME.md //添加ERADME.md至暂存区
git commit -m "hhh" //若是想要提交信息记录的更详细,请不要加 -m
git log --pretty=short //加--pretty=short 只显示提交信息的第一行
git log ggg //ggg是指指定的文件或目录,用于查看指定的目录、文件的日志
git log -p //查看提交所带来的改动
git log -p ggg //查看指定文件的改动
git diff //能够查看工做树,暂存区,最新提交之间的差异
git diff HEAD //查看工做树与最新提交的差异
二、分支操做
git branch //显示分支一览表,同时确认当前所在的分支
git checkout -b aaa //建立名为aaa的分支,而且切换到aaa分支
(git branch aaa //建立名为aaa的分支
git checkout aaa // 切换到aaa分支
)能和git branch -b aaa 获得一样的效果
git checkout - //切换到上一分支
三、合并分支
git checkout master //切换到master分支
git merge --no--ff aaa // 加--no--ff 参数能够在历史记录中明确地记录本次分支的合并
git log --graph //以图表形式查看分支
四、推动历史
git reflog //查看仓库的操做日志,找到要推历史的哈希值
git checkout master
五、修改提交信息 git commit --amend
压缩历史 git rebase -i 错字漏字等失误称做typo
根据之前的步骤在GitHub上建立仓库,应于本地的仓库名相同 GitHub上面建立的仓库的路径为git@github.com: 用户名/仓库名.git
git remote add eee git@github.com: 用户名/仓库名.git //添加远程仓库,并将git@github.com: 用户名/仓库名.git远程仓库的名称改成eee
git push -u eee master //推送至远程仓库 master分支下 -u 参数能够在推送的同时,将eee仓库的master分支设置为本地仓库的当前分支的的upstream(上游)。添加这个参数,未来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就能够直接从eee的master分支中获取内容
git checkout -b feature d eee/feature d //获取远程的feature d分支到本地仓库,-b参数后面是本地仓库中新建的仓库的名称
git pull eee feature d //将本地的feature d分支更新为最新状态
在GitHub上面查看两个分支之间的差异,只须要在地址栏中输入http://github.com/用户名/仓库名/分支1...分支2
六、查看master分支在最近七天内的差异
http://github.com/用户名/仓库名/master@{7.day.ago}...master (一样,day,week,month,year都是能够哒)
七、查看与指定日期之间的差异
http://github.com/用户名/仓库名/master@{xxxx-xx-xx}...master (xxxx-xx-xx表明年月日)
到这里,git相关的命令不少,你们能够根据操做时的须要去具体学习。