GIT
一 简介
场景
团队协作的时候,我们项目开发会遇到代码需要进行管理的场景。
多个开发者之间,每天写的代码可能需要合并,共享。
例子:我写的用户模块、小王写的订单模块,用户模块最终需要跟订单模块合并。
每天写完代码,qq、u盘拷贝,代码合并一个项目中。
希望能够实现这样一个工具:
- 大家共享一个项目
- 每个开发者都有一个自己空间保存代码。
- 每天将每个开发者代码合并在一起,形成每天的任务归档。
- 希望工具能够自动检测我们是新增代码。哪些是修改代码,哪些删除代码。自动合并在一起
git
Git是分布式代码管理工具 云端仓库维护了一套代码 你自己本地也会有一个仓库维护相同的一套代码
SVN集中式源代码管理工具,每台电脑不保存数据,所有数据都在远程仓库
二 使用
1 环境搭建
a 在百度搜索码云,打开码云官网
b 注册账号,并给自己的账号绑定邮箱
c 安装git客户端
下载Git安装包:https://git-scm.com/downloads
建议安装在默认目录,安装过程一直下一步
d 初始化Git
1 在桌面鼠标右键,选择 Git Bash Here
2 配置Git的用户名
git config --global user.name "feiyun"
3 配置Git的邮箱
git config --global user.email "2559226091@qq.com"
写的用户和邮箱,是为了以后能够追踪到是那个用户在操作代码
2 远程仓库的创建和克隆
a 在码云上创建仓库
b 在本地克隆仓库
再你的电脑中打开一个文件夹,右键gitbash ,输入如下命令
git clone "填写你远程仓库的https地址"
3 使用仓库管理项目
a 将本地项目复制到克隆的仓库中。
b 配置git忽略文件,被忽略的文件不会推送到远程仓库
4 推送项目到远程仓库
a 将当前项目暂存
git add .
b 提交到本地仓库
git commit -m "日志"
c 推送到远程仓库
git push
5 拉取项目
git pull
6 冲突问题
如果本地的版本号比远程仓库的版本号低,进行推送的时候,会提示你先进行git pull更新。
执行git pull更新的时候 远程的代码和本地的代码可能就会冲突。
-----HEDAER
======
这些特殊符号实际是在告诉大家,哪些代码是远程更新的,哪些代码本地自己写的。
修改完了,再进行如下步骤
暂存 提交 推送
7 协同开发,邀请其它成员加入
8 代码分支
远程默认是主分支代码。所有开发的代码都来自于主分支,所有代码更新都是操作主分支。
本地我们有主分支,也可以创建子分支,主分支负责代码合并和更新远程最新的代码。
子分支负责开发自己的代码。开发完了,先合并到主分支,在将最新的主分支推送到远程。
(1)每个开发者,从远程仓亏克隆了项目后,先创建对应子分支
git checkout -b 子分支名字
-b代表如过没有这个子分支,我们就会创建一个子分支,并切换过去
如果已经有这个子分支,我们就可以直接切换
git checkout 子分支名字
(2)本地子分支代码推送远程
git push --set-upstream origin 子分支名字
(3)本地子分支代码开发完毕后和本地主分支代码合并
先本地主分支代码更新(拉取)
git pull
将本地子分支代码和本地主分支合并
在主分支中,合并指定子分支代码
git merge 子分支名字
如果有冲突,需要将冲突代码删除,保存
git add .
git commit -m "日志"
将本地主分支代码推送远程主分支。
git push
分支合并:
将子分支合并到主分支,切换到主分支,执行merge。
如果你要将主分支合并到子分支,切换子分支,执行merge
子分支之间无法直接通信。只有主分支大家才能共享。