【Git】分布式代码版本控制工具【GitHub/Gitee/GitLab】
- 一、Git介绍
- 1.1 Git工作机制
- 1.2 代码托管中心
- 1.3 详细git的常用命令
- 1.4 Git分支
- 首先,了解公司开发过程到测试再到用户的过程
- 线上分支与问题修复分支、新功能分支的关系
- 分支的好处:同时推荐多个功能进行开发;分支之间不相互影响;
- **分支的命令**
- **查看分支**、**创建分支**
- **切换分支**、**合并分支**
- ***冲突(合并分支)***:两个分支对同一段代码都进行了修改,合并时会产生冲突;需要手动处理使用哪个代码(此时查看py文件,冲突位置自动显示);
- **解决冲突**:上面文件截图,冲突位置:***只留下你要的代码***;然后***正常git add,git commit***
- error: src refspec test does not match any
- error: remote origin already exists.如果你clone 别人的代码,放到自己的仓库中,就会报错;
- '代码与仓库 '( 包含**删除仓库**)
- 1.5 Git 团队协作
- 1.6 使用git pull文件时和本地文件冲突怎么办?
- 1.7 error: failed to push some refs to ‘https://gitee.com/*/.git’:从远程仓库 clone 来的项目里包含了README.md这个文件,但是自己本地仓库里没有这个文件
- 1.8 本地git与远端仓库代码git push或者git clone 报错(注意使用http仓库链接):
- 二、GitHub
- 三、Gitee
- 四、GitLab
- 五、[git添加多个远程仓库的方法](https://blog.csdn.net/dhp1994/article/details/134094898)
一、Git介绍
分布式版本控制工具
Git安装基于官网:https://git-scm.com/
1.1 Git工作机制
1.2 代码托管中心
代码托管中心是基于网络服务器远程代码仓库,一般称为远程库;
局域网:GitLab
互联网:GitHub(外网)
Gitee (国内)
1.3 详细git的常用命令
签名的作用:
首次安装使用Git,一定要设置用户签名,否则代码提交会报错;
区分不同操作者的身份。
当从暂存区撤回,使用:
git restore --staged <^file>
添加到暂存区后,本地库:
git commit -m "your change msg" 文件名
查看本地库日志信息:
git reflog
或者:查看完整日志
git log
当你觉得当前版本代码没有之前版本代码好,需要进行版本穿越:
git reset --hard 版本号
1.4 Git分支
首先,了解公司开发过程到测试再到用户的过程
线上分支与问题修复分支、新功能分支的关系
分支的好处:同时推荐多个功能进行开发;分支之间不相互影响;
分支的命令
查看分支、创建分支
git branch -v
git branch 要创建的分支名
切换分支、合并分支
git checkout 要切换至分支名
git merge 要合并的分支;
注意:如:要将a分支 合并到 master 分支;;先切换到master,然后git merge a
冲突(合并分支):两个分支对同一段代码都进行了修改,合并时会产生冲突;需要手动处理使用哪个代码(此时查看py文件,冲突位置自动显示);
解决冲突:上面文件截图,冲突位置:只留下你要的代码;然后正常git add,git commit
error: src refspec test does not match any
error: failed to push some refs to ‘https://gitee.com/whxxxr/xxxx.git’
释义:远端/本地 的分支中没有test(本地远端的分支要一致,不能远端有,本地没有;不能本地有,远端没有)
处理方式:将本地创建分支的信息同步远端
git push origin HEAD -u
之后再提交代码至对应的分支(如:dev、test等)
git push origin test
//只会提交至test分支
error: remote origin already exists.如果你clone 别人的代码,放到自己的仓库中,就会报错;
处理方式:
git remote rm origin
先取消代码与远端仓库的联系;再关联自己的仓库
git remote add origin http……
'代码与仓库 '( 包含删除仓库)
git remote -v // 查看本地已经关联的远程仓库
git remote rm name // # 删除远程仓库
git remote rename old_name new_name // # 修改仓库名
git remote add name 远程仓库地址 // name 为要取的仓库名字 远程仓库地址 为要关联的远程仓库地址
1.5 Git 团队协作
Git团队内协作、跨团队协作 机制
团队内
跨团队:团队2 先远端fork 团队1的代码,再本地改了后,推送团队2的远程库,再发起pull request, 团队1管理员审核后,合并到团队1远程库……
1.6 使用git pull文件时和本地文件冲突怎么办?
这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。
1、先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。使用git stash list可以看到保存的信息:
其中stash@{0}就是刚才保存的标记。
2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull
3、还原暂存的内容
$ git stash pop stash@{0}
1.7 error: failed to push some refs to ‘https://gitee.com/*/.git’:从远程仓库 clone 来的项目里包含了README.md这个文件,但是自己本地仓库里没有这个文件
用这个命令合并
git pull --rebase origin master
1.8 本地git与远端仓库代码git push或者git clone 报错(注意使用http仓库链接):
unable to access ‘https://****’ :SSL certificate problem……
命令如下:
# 关闭git证书校验
git config --global http.sslVerify "false"
# 开启git证书校验
git config --global http.sslVerify "true"
二、GitHub
创建远程库
代码推送 Push
代码拉取 Pull
代码克隆clone
SSH免密登录
Idea集成GitHub
三、Gitee
码云创建远程库
Idea集成Gitee码云
码云连接GitHub进行代码的复制和迁移
四、GitLab
GitLab服务器的搭建和部署
Idea集成GitLab