git和svn区别
git是什么
分布式版本控制系统版本管理工具 主要用于代码的管理
svn
集中式版本控制系统 所有的代码都必须统一合并到中央服务器 必须联网
以上两种是在企业当中使用最多的版本管理工具
两者区别:
svn所有用户都必须在同一个中央服务器进行代码提交 可能会出现代码提交错乱问题
svn如果新的用户想要使用代码 需要从中央服务器下载拉取代码 如果网络比较慢时候
可能会出现不知名的问题
git里边每个人都是一个完整的版本库 工作时候不需要联网
因为版本本身就是你的电脑 如果多人同时编写修改一个文件
只需要两个人各自将修改的内容推送给对方 如果有冲突在本地直接解决 我们就可以将各自的代码
推送到远端仓库(一般情况只有管理员拥有)
git里边比着svn多了一个概念分支
svg和git记录代码提交功能(方便在企业里边追责)
git使用
git如何使用
需要在你的电脑上边下载git
https://git-scm.com/
是否安装成功
需要右键 在菜单中只要出现git的选项 就认为git安装成功
命令测试是否安装成功
git --version 如果出现对应的版本号 表示安装成功 反之安装失败
需要全局配置git账号
需要使用命令来进行配置
我们只需要配置一下git的用户名和邮箱
用户名配置
git config --global user.name "你的用户名"
邮箱配置
git config --global user.email "你的邮箱名"
局部配置git账号 找到.git文件夹 在文件夹中找到config文件里边添加如下代码
[user]
name=名字
email=邮箱
查看用户名:git config --global user.name
查看邮箱:git config --global user.email
git命令
1 创建项目编写的文件夹
2 进入项目文件夹 右键选择git bash here 会显示一个git命令行工具
3 在命令行中 输入git init会生成一个.git文件
命令:
查看状态
git status
暂存
git add 文件名
提交本地仓库
git commit -m "提交信息"
提交信息一般是提交什么页面 或者修改了页面里边什么功能 这个信息必须写
暂存区域文件 回撤到本地
git restore --staged 文件名(暂存区域里边的文件)
查看工作日志
git log
检出文件(将文件从本地仓库检出到本地)
git checkout 文件名
删除本地文件(删除本地仓库文件)
git rm 文件名 -f
git分支
查看分支
git branch // 所在的分支会显示绿色 并且前边有星号
创建新的分支
git branch 新的分支名
// 分支名的命名 一般在企业 我们会以当前项目每个人的名字 来命名分支 我们还可以以开发的功能来命名分支
切换分支
git checkout 分支名 (切换的分支必须是项目里边有分支)
删除分支
git branch -D 分支名称 (想要删除哪个分支 不能在这个分支上边 需要在其他分支上边)
合并分支
git merge 分支名称 (如果想要合并分支 需要切换到被合并的分支)
git与github与gitee
github
是一个全球性的代码托管平台
gitee
码云 一般国内用户进行代码托管的平台
git可以使用命令将代码远程托管道github或者gitee
创建远端仓库
1 需要在github或者gitee里边注册登录相关账号
2 创建仓库(写上仓库的基本信息)
3 需要执行相关的命令 生成对应的项目初始化文件
4 创建好项目后 就可以直接在本地对代码进行线上托管
在项目中 有两个仓库托管的地址
一个https
一个ssh
一般使用https地址
关联代码到远端仓库
git remote add origin 你的仓库地址
克隆仓库
git clone 远程仓库地址
推送远端新的分支
git push --set-upstream origin 新的分支名
推送代码到远端仓库
git push
拉取远端仓库代码
git pull
删除远端分支
git push origin --delete 远端分支名
注意:
如果创建了本地分支 需要将本地分支推送到远端 推送前需要在当前被推送的分支上
如果想要删除远端分支 需要在其他分支上边 去删除远端分支
远端分支虽然被删除 但是本地同名分支依然存在
如果使用git工具进行协作开发,我们要求,一般情况下我们会在每一天结束工作时候,将你写的代码提交一下
在每一天来到公司以后 我们会在写代码之前 将远端仓库里边的代码 先拉取一遍
甚至在某些时候 我们会在一天内提交多次代码 要求在每一次提交代码之前 需要首先拉去一遍代码
(保证代码是最新的,防止覆盖线上其它代码)
git完整的分支名称
master: 主分支 (主分支一般情况下不允许进行污染) 最后是需要提交到服务器正式生产环境的代码
develop: 基于master分支 生成一个开发分支(没有上线的代码功能 首先提交到当前分支 测试无误可以合并到预发布分支release)
feature: 如果当前网站需要添加新的功能模块 我们可以在当前分支上边进行添加修改 测试无误 合并master分支
release: 该分支相当于预发布分支 在项目正式上线之前 可以在当前环境中测试一遍代码是否有误 如果无误在提交到master分支 发布到正式环境
hotfix: 热修复分支 当项目正式上线 如果发现线上代码有问题 我们需要紧急修复 我们可以在当前分支进行代码修改
然后直接推送到正式服务器上
以上分支 不一定在企业里边都会用到 可能会用到其中某一些 也有可能都会用到
我们需要了解每一个分支具体作用