Git 的安装和使用
Git:分布式版本控制系统
Gitlab:私有云代码托管平台(程序员,测试写的代码,公司核心文档都会放在这个平台上)
GitHub:公有云代码托管平台,代码全球共享
svn:代码版本控制
码云:完全抄袭GitHup,
注意事项:
公司里面的核心代码(产品账户密码,服务器账户密码)这些代码是自己写的,千万不能分享到GitHup等博客园的其他平台,如果一定要分享账户密码,一定要使用***代替。
Git:分布式
SVN:集中式
一、Git的下载和环境搭建
1.下载好之后找到储存路径,将bin目录添加到path环境变量
2.复制目录C:\Program Files\Git\bin,添加到系统变量中的path环境变量,点击确定。
3.安装好Git之后在控制台输入Git 出现以下就是安装成功了
二、Git的基本命令
在本地创建一个文件夹,在文件夹里面创建仓库(存储代码的目录),最后会把仓库里面的代码提交到私有云(公有云)的平台
步骤:首先在桌面创建一个learnGit文件夹,打开之后复制目录,再打开控制台,输入cd C:\Users\EDY\Desktop\learnGit,进入到该目录
2、git init :创建仓库
创建仓库之后,在创建的learnGit文件夹中点击查看,勾选隐藏的项目,就可以看见.git文件夹,再在learGit目录下创建一个index.txt记事本,在里面输入“hello Git”
3、查看仓库状态:git status(什么时候都可以用)
4、
5、 git commit -m "" :提交文件,双引号里面必须填写备注,备注告诉大家你干了什么
6、git log: 1.查看代码提交记录 2.查看提交日志记录
在index.txt里写入新的内容“hello word 世界你好”,在控制台再次提交文件git add index.txt和git commit -m"这是我第二次提交文件"和查看文件状态git status
四、版本回退:(面试题)
1、怎么从现在版本回退到过去版本?
A、使用git log查看到所有的记录
2、怎么从过去版本回退到最新的版本?
A、使用git reflog查看所有的操作记录
B、使用 git reset --hard commitID(想要回到最新版本的提交ID)
4.1 回到过去版本:
可以回到过去,也可以穿越到未来
git reset --hard **后面随机复制几个字符串,这时候再打开记事本就回到第一次版本的内容
4.2 回退到最新版本
版本穿越到第二次提交的版本,先查看所有的操作记录,再输入git reset --hard **,这时候再次打开index.txt就回到最新的版本
五、环境合并与分支管理:
1.生产环境
给客户使用的
2.测试环境
给测试使用的
3.开发环境
给开发使用的
版本分支管理:
master:主分支 (主分支的代码不能有任何的问题,因为它是往线上环境部署的代码)
test分支:测试环境的代码,也就是说开发再dev分支上开发新功能完成后,会把dev分支的代码合并到test分支
dev分支:开发自己调试的环境
git branch :查看当前分支
当前在dev分支,在记事本里写上新的内容(工作当中写的是代码),在控制台执行添加,提交步骤
模拟dev的代码合并到test分支:
1、先切换到test分支
2、在test分支上,合并dev分支的代码
模拟test代码合并到master分支
当前在test分支,在记事本里增加新的内容,在控制台执行添加提交的操作
再次重复上面的步骤:
1.先切换到master分支,
2.在master分支上,合并test分支的代码
六、Git与Gitlab整合
1、在Gitlab平台创建一个账户,复制该地址进入控制台,输入命令:git clone地址,输入账户和密码,克隆一个仓库
2、在仓库中创建一个记事本:limin.txt,写进内容,在控制台执行添加、提交操作
2、在GitLab配置密钥 ,在本地找到生成的密钥, 配置到GitLab的ssh-key
步骤 A.打开C盘Users下的EDY下的.ssh,用记事本打开id_rsa_pub,复制里面的内容
B.打开Gitlab平台,打开设置,点击SSH Keys,将复制的内容进行粘贴,再点击ADD key,即密钥配置成功
4、密钥配置成功之后,进行代码的提交和同步
git push远程提交
当git push的时候出现 ! [remote rejected] master -> master (pre-receive hook declined) 那么说明没有权限提交,需要联系仓库的负责人
git pull:同步
如果git pull出现错误fatal: refusing to merge unrelated histories 那么使用:git pull origin master --allow-unrelated-histories
问题:测试环境测试通过后,开发把代码合并到主分支之后,还需要测试吗?为什么?
答:需要测试
开发在合并代码的过程中,会存在如下几个可能性:
A、文件冲突,但是没有解决冲突,直接删除冲突的文件 B、文件删除导致文件缺失
git常用命令:
git init :创建仓库
git config --global user.name:配置账户
git config --global user.email:配置邮箱
git add 文件名称:提交文件到暂存区
git commit -m "备注":提交文件
git status:查看仓库状态
git log :查看代码提交记录
git reset --hard ***:版本回退
git branch :查看当前分支
git branch 分支名称:创建分支
git checkout :切换分支
git merge :合并分支
git clone 地址:克隆仓库
git push :提交