Git提交代码仓库的两种方式
一: 两种本地与远程仓库同步
"""
1)你作为项目仓库初始化人员:
线上要创建空仓库 => 本地初始化好仓库 => 建立remote链接(remote add) => 提交本地仓库到远程(push)
2)你作为项目后期开发人员:
远程项目仓库已经创建成功 => 复制远程仓库到本地(clone) => 进入仓库就可以进行接下来的开发
"""
1 git 远程仓库
1.创建一个空项目,如果选择.gitignore和开源许可,那么创建的创建就不是一个空仓库,会存在:
1 .gitignore
2 LICENSE 开源许可
2.创建完成的空仓库
提交本地版本库操作
1.初始化
git init
2.查看当前状态
git status
3.提交到暂存区
git add .
4.查询当前状态
git status
5.提交到本地的版本库
git commit -m '第一次提交'
提交到远程版本库操作
1.Git 全局设置:
git config --global user.name "www.zhang.com"
git config --global user.email "10366666612+wwwzhang-com@user.noreply.gitee.com"
# 注意: 如果邮箱设置的是别人的邮箱,那么提交到远程仓库就会显示别人的头像与名称
git config --global user.email "10366666612+wwwzhang-com@user.noreply.gitee.com"
2.增加一个远程仓库地址
git remote add origin https://gitee.com/wwwzhang-com/admin_item.git
# 提示标准写法:
git remote add 名字 远程仓库地址
3.查询当前存在的远程仓库
git remote
5.本地版本库内容提交到远程仓库
git push origin master # 把本地版本库内容,提交到远程仓库,需要输入giee的用户名密码
# 提示标准写法:
git push 远程仓库名字 分支名字
6.查询远程仓库
注意:本地版本库提交到远程仓库用户名密码存放位置
远程仓库操作
1.增加
-git remote add 名字 远程仓库地址
2.查看
-git remote
3.删除
-git remote remove origin
4.提交到远程仓库
-git push origin master
本地仓库与远程仓库提交使用(删除与新增)
1.当pycharm删除了一个文件s1.py
# 当pycharm删除了一个文件s1.py
1.删除或者新增都会进缓存区
2.将缓存区提交到本地版本库
git commit -m '删除s1.py'
2.本地版本库内容提交到远程仓库
push origin master
3.查询远程仓库
1.本地版本库提交到远程仓库记录
2.分支master提交到远程仓库记录,测试,开发本地版本库。提交到远程仓库。
remote源操作
"""
1)查看仓库已配置的远程源
>: git remote
>: git remote -v
2)查看remote命令帮助文档
>: git remote -h
3)删除远程源
>: git remote remove 源名
eg: git remote remove origin
4)添加远程源
>: git remote add 源名 源地址
>: git remote add orgin git@gitee.com:doctor_owen/luffyapi.git
5)提交代码到远程源
>: git push 源码 分支名
6)克隆远程源
>: git clone 远程源地址
"""
"""
1)通过克隆方式连接远程源,默认远程源名就叫origin;所以主动添加远程源来连接远程仓库,源码也用origin
2)本地一个仓库只需要和远程一个源进行同步,所以只需要连接一个远程源,如果还想把本地代码同步给第三个平台,那么可以通过主动添加远程源来连接第三个平台的远程仓库,此时的源码就不能再叫origin了,比如online都可以
3)pull和push都可以提供选择不同的源码,和不同的远程仓库交互
"""
2 采用ssh协议连接远程
连接远程服务器的两种方式
1.https方式: 使用用户名+密码认证的方式
2.ssh方式: 公钥私钥方式
1.本地生成公钥私钥
2.把公钥配置到gitee上
3.以后再提交到远程仓库就不需要输入用户名和密码了
使用ssj协议连接远程使用流程
1.cmd命令 窗口执行生成公钥私钥
# 本地生成一个公钥私钥 rsa加密方式 邮箱
ssh-keygen -t rsa -C "10366666612+wwwzhang-com@qq.com"
# 生成存储位置: C:\Users\86130/.ssh/id_rsa
生成到用户家路径的 .ssh文件夹下
-id_rsa # 私钥
-id_rsa.pub # 公钥
# 回车即可
2.把本地公钥配置到gitee上
重写配置远程仓库为ssh(以后再提交代码就不需要输入用户名密码了)
# 注意: 本地sttps,git的凭据就可以删除了
# 1.删除之前配置的https协议的远程仓库
git remote remove origin
# 2.查看当前远程仓库
git remote
# 3.配置ssh远程仓库(以后再提交代码就不需要输入用户名密码了)
git remote add origin git@gitee.com:wwwzhang-com/lufy_api.git
# 4.查询当前远程仓库
git remote
本地版本库提交到远程ssh仓库
# 1.修改了gitignore内容(提交至缓存区)
git add .
# 2.将缓存区提交至版本库
git commit -m '修改了gitignore'
# 3.将本地版本库提交至远程ssh仓库
git push origin master # yes,继续连接
3 项目创始者和项目开发者
1.如果我是项目开发者,需要把代码clone到本地
# 开发者
1)生成自己电脑的公钥,配置到自己的码云个人公钥中
2)把自己的码云用户名提供给别人,别人添加你成为项目开发者
3)自己确认添加,成为开发者,克隆开发项目,进行开发
# 需求: 本地lufei项目被意外删除了,需要从远程仓库克隆/下载到本地
1.https或ssh或克隆都可以,三种下载方式
# git clone https链接
git clone https://gitee.com/wwwzhang-com/lufy_api.git
下载本地成功
# 所有版本记录都存放在.git文件夹里面
git status
重新将代码提交到远程仓库
# 修改代码
1.提交至缓存区
git add .
2.提交至版本库
git commit -m '开发者最后'
3.提交至远程仓库
git push origin master
# 注意
1.出现输入用户名和密码的情况,输入即可,因为是使用https下载的
# 解决方法:
1.重新配置ssh公钥私钥即可
1 如果我是项目开发者,需要把代码clone到本地
-git clone https://gitee.com/liuqingzheng/luffy_api.git
-修改代码
-提交到远程
git push origin master
2 如果我是项目创始者,需要远程新建仓库,本地代码push上去
# 创始者顺序
1)生成自己电脑的公钥(公钥生成一次就可以了),把它提交给项目管理者
2)项目管理者添加你公钥,加入开发者,提供给你项目克隆地址
3)克隆开发项目,进行开发
# 1.项目的创始者:
可以在项目管理-->仓库成员管理-->开发者邀请其他成员加入--成为开发者
# 2.开发者可以进行以下步骤:
1.我是项目的开发者,把代码clone到本地
2.修改代码
3.提交到远程
4 协同开发
1 管理员,开发者(10开发者)
-能提交代码(能增删查改代码)
协同开发(跨版本问题)
# 协同开发(跨版本问题)
1.当开发者在开发a版本时,另两个开发者,已经提交了两个版本到远程仓库,
2.问题: 这个时候在开发a版本分支的开发者如果提交到远程仓库会造成版本冲突,严重会让2版本和3版本被自己跨版本提交的版本覆盖掉。
3.解决: 必须先拉取代码下来(让你本地保持最新)git pull origin master,在进行提交即可
协同开发(拉取代码与自己相同问题)
1.可能会发送的冲突,当我们拉取下来的代码与自己修改的是同一行代码,会发送冲突
2.所以解决冲突,再进行提交即可
协同开发(拉取代码与自己相同问题)解决上述问题完整
1.冲突解决(多人在同一个分支开发,导致冲突)
"""
<<<<<<< HEAD # 冲突的开始
# 自己的代码
======= # 分割线
# 别人的代码
>>>>>>> b63c408abd05b87fc492d40523240561999dba50 # 冲突的结束(版本)
"""
# 冲突解决:
解决方案一:
1.改同样的功能出现的冲突,看一下谁的代码更好,保留好代码,删除不好代码
解决方案二:
2.改的不是同样的功能出现了冲突,留着两个人的
# 避免冲突
1.没事就拉一下代码
5 线上分支合并
1.本地建立分支,同步到远端
# 本地建立分支,同步到远端
-git branch dev
-git push origin dev
本地建立分支,同步到远端顺序
1.创建dev分支
git branch dev
2.切换到dev分支
git checkout dev
3.提交至版本库
git commit -m 'dev分支更改'
4.将本地分支dev提交到远端的master下
git push origin dev
引入前提远端同步本地:
## 本地:
# 1.切换到master分支
git checkout master
# 2.强删除dev分支(因为没有合并普通删除不了,使用-f 强制)
git branch -d dev -f
## 远端
1.删除上一次使用的dev分支
2.重新创建一个新的dev分支
1.远端建立分支,同步到本地
# 远端建立分支,同步到本地
-git pull origin dev
-git branch # 看不到
-git checkout dev #切到dev分支,本地就能看到了
远端建立分支,同步到本地顺序
1.拉取远端master分支(没事拉一下防止冲突)
git pull origin master
2.查看当前分支
git branch
3.将远端分支dev拉取到本地
git pull origin dev # 注意因为当前dev分支什么都没有,所以可能git branch查询不到,直接切换即可,在git branch就跨域看到了。
本地分支提交代码到远端dev分支
1.切换到dev分支
git checkout dev
2.增加数据
3.提交到缓存区
git add .
4.提交至版本库
git commit -m '提交'
5.将本地dev分支提交至远端dev分支
git push origin dev
5.查询当前分支
git branch