git介绍及操作

1.git简介:

作用:代码管理平台
为什么要进行源代码管理:
多人协同开发
方便版本控制
GIT管理代码的特点:
1.GITt是分布式管理:服务器和客户端都有版本控制能力,都能进行代码提交,合并…
2.GIT会在根目录下创建一个.git的隐藏文件,作为本地代码仓库
GIT操作流程图解:
git服务器–>本地仓库–>客户端–>本地仓库–>git服务器
git介绍及操作

2.工作区暂存区和仓库区

git介绍及操作
工作区:添加,删除,修改文件的操作,都发生在工作区
暂存区:指将工作区中的操作完成小阶段的存储,是版本库的一部分
仓库区:表示个人开发的一小阶段的完成
仓库区中记录的各个版本是可以查看并回退的
但是在暂存区的版本一旦提交就没有了

3.GIT单人本地仓库操作

查看文件状态:git status
将工作区文件添加到暂存区:git add
将暂存区文件提交到仓库区:git commit -m’版本描述’
查看历史版本:git log 或者 git reflog
回退版本:git reset --hard HEAD^
HEAD 表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本
…以此类推
回退到指定版本:git reset --hard 版本号
撤掉代码:
撤销工作区代码:git checkout 文件名字
撤销暂存区代码:
第一步:将暂存区撤回到工作区:git resert --hard 版本号
第二步:撤销工作区代码:git checkout 文件名

4.GIT远程仓库Github

提示:Githut网站作为远程仓库时的操作和本地代码一样,只是仓库位置不同
4.1创建远程仓库
1.注册登录github
2.创建仓库入口
4.2克隆项目
1.克隆宣称仓库的命令,克隆到本地
git clong ‘远程仓库的ssh或者https’
2.查看克隆成功后的文件
.git 是源代码仓库
LICENSE权限
.gitignore忽略文件
git介绍及操作
3.配置身份信息
.git 文件的config中编辑user 例如:
git介绍及操作
4.创建项目
git介绍及操作
5.推送代码到远程仓库
#工作区添加到暂存区
git add.
#暂存区提交到仓库区
git commit -m’立项’
#推送到远程仓库
git push
在push的时候需要提交用户名和密码:该密码就是github的用户名和密码

4.3多人协同开发
总结:
使用git命令操作仓库,需要进入仓库内部
要同步服务器代码就执行:git pull
本地仓库记录版本就执行:git commit -m ‘版本描述’
推送代码到服务器就执行:git push
编辑代码前要先pull,编辑完在commit,最后是推送push

4.4代码冲突
提示:多人协同开发时,避免不了代码冲突
原因:多人同时修改一个文件
注意:一旦代码冲突,先解决,再后续开发
解决冲突原则:谁冲突谁解决,一定要协商
方案:保留所有或保留一人代码
解决完冲突后,依旧需要add,commit,push
减少冲突的操作方式:
先pull再修改,修改后立即commit和push
确保自己修改的文件是最新版本的
各自开发各自模块
下班前一定要提交代码,上班第一件事拉取代码
不要擅自修改同事的代码
4.5标签
当一个大版本完成后,需要打一个标签
作用:记录大版本,备份大版本代码
git介绍及操作
模拟经理打标签
1.进入本地代码仓库
2.再本地打标签
git tag -a ‘标签名’ -m ‘版本描述’
例如:git tag -a v1.0 -m ‘你可真好看’
3.经理推送标签到远程仓库
git push origin 标签名
例如:git push origin v1.0
4.在github上可以查看打标签结果
补充:删除本地和远程标签
删除本地标签:git tag -d 标签名
删除远程标签:git push origin --delete tag 标签名

4.6分支
git介绍及操作
作用:
区分生产环境以及开发环境代码
解决线上bug
特点:
项目开发中公用分支包括master,dev
分支master是默认分支,用于发布,需要发布时,dev分支合并到master分支
分支dev用于开发分支,完成阶段性代码后,需要合并到master分支

模拟经理进行分支操作:
1.进入经理本地仓库
2.查看当前分支
git branch
没有创建其他分支时只有master分支
3.经理创建并切换到dev分支
git checkout -b dev
4.设置本地分支跟踪远程指定分支(将分支推动到远程)
git push -u orgin dev
5.经理在dev分支编辑代码
6.管理dev分支代码:add,commit.push
7.dev分支合并到master分支
7.1先切换到master分支
git checkout master
7.2dev分支合并到master分支
git merge dev
7.3经理推动合并分支操作到远程仓库
合并分支在本地完成,合并后即可推送
git push
8.员工同步代码
git pull