git版本包管理工具

项目版本管理工具

分类

1 svn  :集中式管理 (依赖服务器)
	 情况:对项目保密性有严格要求
	

	
2 git  :去中心化管理(分布式)
  git远程仓库: 
  1 gitee (码云) ---》学这个
  2 github
  3 gitlab (类似于svn,自己搭建服务)
  

个人流程

1 新建远程仓库
2 克隆远程仓库到本地(一般情况下仓库名就是项目名)
3 编辑代码
4 add 添加到暂存区
5 commit 提交到本地仓库
6 push 到远程仓库

工具下载

https://registry.npmmirror.com/binary.html?path=git-for-windows/

设置账号和邮箱

git config --global user.name '自定义名字,不要太简单'
git config --global user.email '自定义邮箱'


比如:
git config --global user.name 'laowang'
git config --global user.email 'laowang@qq.com'

克隆

git  clone   地址

克隆之后会产生.git目录和.gitignore文件
.git目录就是本地仓库,.gitignore忽略文件

记得编辑 .gitignore 文件:把不需要被git管理的目录名添加上去
语法:
名字1
名字2.。。

添加暂存+提交到本地

添加到暂存:  git add  .

提交到本地仓库:  git commit -m '日志'

注意:commit了几次,就会在.git本地仓库中拥有几个存档

推送本地仓库到远程仓库

推送到远程:  git push [origin master]

分支

分为主分支(只能有一个:master)和子分支(可以创建多个),我们规定,整个项目会保存在主分支上,子分支是用于编写我们自己的模块

在版本控制过程中,使用多条线同时推进多个任务。这里面说的多条线,就是多个分支
最终,子分支都会合并到主分支中

切记:一般情况下主分支是经过测试后没有大问题的代码,因为以后协同开发大家共享的是主分支

好处:

1 同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率
如果有一个分支功能开发失败,直接删除这个分支就可以了,不会对其他分支产生任何影响。

2 多一个备份

命令

1 查看所有分支  git branch
2 新建分支 git checkout -b 分支名
3 切换分支 git  checkout   分支名 
4 推送子分支到远程  git push origin 子分支  (确保当前是子分支)
5 分支合并  git merge 目标分支   (把目标分支合并到当前分支)
6 如果分支在合并之前更新了版本,则合并会起冲突,解决冲突,解决完之后要add+commit
冲突效果:

<<<<<<< HEAD
let master=4
=======
let lw=6;
>>>>>>> lw


7 删除子分支: git branch --delete 子分支名 (当前分支要是master)   

8 返回终端:  :wq回车

拉取

非第一次下载
git pull  [origin master]

关于冲突

合并分支或拉取时可能会遇到冲突问题,我们应该解决冲突,然后add+commit

版本回退

查看所有历史存档记录:  git log -g     按 q 即可回退到终端
回退版本: git reset --hard 版本号

总结git命令

1 克隆  git clone  url
2 添加暂存  git add .
3 提交到本地仓库  git commit -m '日志'
4 推送到远程仓库 git push [origin 分支]
5 拉取 git pull [origin 分支]
6 新建分支 git checkout -b 子分支名
7 切换分支 git checkout 分支名
8 查询所有分支 git branch
9 删除子分支 git branch --delete 子分支名
10 当前分支合并目标分支    git merge 目标分支
11 查看历史版本记录   git log -g
12 回退版本 git reset --hard 版本号


小组开发

组员邀请

适用git协同开发的流程

前端:

1 组长新建仓库、邀请组员
2 组长克隆下来,配置gitignore文件,创建项目结构(webpack,设计到初始化,配置package.json插件目录、html、css、js新建)
3 组件 add +commit+push 到远程仓库
4 组员 克隆 ,新建子分支,在子分支里面敲代码,合并到本地的主分支
5 最终组员一个一个pull+解决冲突+push
6 远程仓库就应该是最终版

后端:

1 组长新建仓库、邀请组员	
2 组长克隆下来 ,配置gitignore文件,自己通过命令(express xx)再新建一个后端项目,创建项目结构(路由、app.js、插件:mongoose、multer)
3 把克隆下来的仓库中的.git目录和gitignore文件拷贝到 xx 项目中
4 组件 add +commit+push 到远程仓库
5 ........

ssh协议

https弊端:每次重新上传下载都要重新输入口令(不输入是系统的记忆功能)
ssh(安全外壳协议)

特点:
1 不需要每次都输入密码
2 安全(利用密钥加密)
原理:
为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
 

因此:私钥不能外漏,公钥随便外漏


步骤:
0设置账号和邮箱,邮箱是要用来生成密钥的
git config --global user.name ‘laowang’           -------设置账号
git config --global user.email ‘laowang@qq.com’     ------设置邮箱

1 生成公钥和私钥  (引号中要用到刚才申请的邮箱)
ssh-keygen -t rsa -C "laowang@qq.com"

中间步骤全部点击回车,成功后会在/c/Users/xx/下生成.ssh目录,该ssh目录下会产生两个文件:
id_rsa(私钥)和id_rsa.pub(公钥)

2 在码云(gitee)仓库中点击”设置”--”安全设置”--ssh公钥--标题随便写,公钥就是拷贝id_rsa.pub中的全部内容即可

3 使用ssh克隆:注意要选择ssh,测试无需输入口令
4 git clone xxx地址
作业:
1 选组长
2 通过git实现学生管理系统
 三个人: user (登录)     stu (查询列表)    clas (查询列表)
 四个人   user (登录)     stu (查询列表)、(修改)    clas (查询列表)
3  每个人都得负责自己模块前后端:
   比如负责user的组员:前端页面、后端接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值