首页 > 其他分享 >Git提交代码仓库的两种方式

Git提交代码仓库的两种方式

时间:2023-04-14 17:48:28浏览次数:42  
标签:git 本地 仓库 dev Git 提交 远程

目录

一: 两种本地与远程仓库同步

"""
1)你作为项目仓库初始化人员:
线上要创建空仓库 => 本地初始化好仓库 => 建立remote链接(remote add) => 提交本地仓库到远程(push)

2)你作为项目后期开发人员:
远程项目仓库已经创建成功 => 复制远程仓库到本地(clone) => 进入仓库就可以进行接下来的开发
"""

1 git 远程仓库

1.创建一个空项目,如果选择.gitignore和开源许可,那么创建的创建就不是一个空仓库,会存在:
	1 .gitignore
	2 LICENSE  开源许可

image

2.创建完成的空仓库

image

提交本地版本库操作
1.初始化
git init
2.查看当前状态
git status
3.提交到暂存区
git add .
4.查询当前状态
git status
5.提交到本地的版本库
git commit -m '第一次提交'

image

提交到远程版本库操作
1.Git 全局设置:
git config --global user.name "www.zhang.com"
git config --global user.email "[email protected]"
# 注意: 如果邮箱设置的是别人的邮箱,那么提交到远程仓库就会显示别人的头像与名称
git config --global user.email "[email protected]"
2.增加一个远程仓库地址
git remote add origin https://gitee.com/wwwzhang-com/admin_item.git

# 提示标准写法:
	git remote add 名字 远程仓库地址

image

3.查询当前存在的远程仓库
git remote

image

5.本地版本库内容提交到远程仓库
git push origin master  # 把本地版本库内容,提交到远程仓库,需要输入giee的用户名密码

# 提示标准写法:
	git push 远程仓库名字 分支名字

image

image

6.查询远程仓库

image

注意:本地版本库提交到远程仓库用户名密码存放位置

image

远程仓库操作

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'

image

2.本地版本库内容提交到远程仓库
push origin master

image

3.查询远程仓库
1.本地版本库提交到远程仓库记录
2.分支master提交到远程仓库记录,测试,开发本地版本库。提交到远程仓库。

image

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 [email protected]: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 "[email protected]"

# 生成存储位置: C:\Users\86130/.ssh/id_rsa
生成到用户家路径的 .ssh文件夹下
-id_rsa      # 私钥
-id_rsa.pub  # 公钥

# 回车即可

image

2.把本地公钥配置到gitee上

image

重写配置远程仓库为ssh(以后再提交代码就不需要输入用户名密码了)

# 注意: 本地sttps,git的凭据就可以删除了

# 1.删除之前配置的https协议的远程仓库
git remote remove origin

# 2.查看当前远程仓库
git remote

# 3.配置ssh远程仓库(以后再提交代码就不需要输入用户名密码了)
git remote add origin [email protected]:wwwzhang-com/lufy_api.git

# 4.查询当前远程仓库   
git remote

image

本地版本库提交到远程ssh仓库

# 1.修改了gitignore内容(提交至缓存区)
git add .
# 2.将缓存区提交至版本库
git commit -m '修改了gitignore'
# 3.将本地版本库提交至远程ssh仓库
git push origin master  # yes,继续连接

image

3 项目创始者和项目开发者

1.如果我是项目开发者,需要把代码clone到本地

# 开发者
1)生成自己电脑的公钥,配置到自己的码云个人公钥中
2)把自己的码云用户名提供给别人,别人添加你成为项目开发者
3)自己确认添加,成为开发者,克隆开发项目,进行开发
# 需求: 本地lufei项目被意外删除了,需要从远程仓库克隆/下载到本地

1.https或ssh或克隆都可以,三种下载方式
# git clone https链接
git clone https://gitee.com/wwwzhang-com/lufy_api.git

image

下载本地成功

image

# 所有版本记录都存放在.git文件夹里面
git status

image

重新将代码提交到远程仓库
# 修改代码
1.提交至缓存区
git add .
2.提交至版本库
git commit -m '开发者最后'
3.提交至远程仓库  
git push origin master  

# 注意
1.出现输入用户名和密码的情况,输入即可,因为是使用https下载的
# 解决方法:
1.重新配置ssh公钥私钥即可

image

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.提交到远程

image

4 协同开发

1 管理员,开发者(10开发者)
	-能提交代码(能增删查改代码)  

协同开发(跨版本问题)

# 协同开发(跨版本问题)
1.当开发者在开发a版本时,另两个开发者,已经提交了两个版本到远程仓库,
2.问题: 这个时候在开发a版本分支的开发者如果提交到远程仓库会造成版本冲突,严重会让2版本和3版本被自己跨版本提交的版本覆盖掉。
3.解决: 必须先拉取代码下来(让你本地保持最新)git pull origin master,在进行提交即可  

image

协同开发(拉取代码与自己相同问题)

1.可能会发送的冲突,当我们拉取下来的代码与自己修改的是同一行代码,会发送冲突
2.所以解决冲突,再进行提交即可

image

协同开发(拉取代码与自己相同问题)解决上述问题完整

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

image

引入前提远端同步本地:
## 本地:
# 1.切换到master分支
git checkout master
# 2.强删除dev分支(因为没有合并普通删除不了,使用-f 强制)
git branch -d dev -f

image

## 远端
1.删除上一次使用的dev分支
2.重新创建一个新的dev分支

image

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就跨域看到了。

image

本地分支提交代码到远端dev分支
1.切换到dev分支
git checkout dev  

2.增加数据

3.提交到缓存区
git add .

4.提交至版本库
git commit -m '提交'

5.将本地dev分支提交至远端dev分支
git push origin dev

5.查询当前分支
git branch

image

标签:git,本地,仓库,dev,Git,提交,远程
From: https://www.cnblogs.com/My-IronMan/p/17319050.html

相关文章

  • docker-day4——Dockerfile、docker私有仓库、dockercompose介绍、dockercompose部署f
    目录一、Dockerfile1.1常用和不常用命令1.2dockerfile构建一个djagno项目二、docker私有仓库2.1镜像传到官方仓库2.2镜像分层2.3私有仓库搭建三、dockercompose介绍四、dockercompose部署flask+redis项目4.1新建flask项目app.py4.2编写Dockerfile--》用于构建flask项目的......
  • Git GUI 中文文件名乱码
     GitGUI中文文件名乱码  在GitGui界面选择Edit-Options(对应中文编辑-选项),"默认文本内容编码方式"选择"Unicode(UTF-8)"即可                   REFhttps://www.jianshu.com/p/4b61731d0de6......
  • 为github项目添加优秀的自述文件
    sudoapt-getupdatesudoaptinstallnpmnpxreadme-md-generator参考资料:https://github.com/kefranabg/readme-md-generator......
  • linux中systemctl管理go服务 (gin)git部署
    go安装下载 https://golang.google.cn/dl/解压至指定目录,一般到/usr/localsudotar-C/usr/local-xzfgo**.linux-amd64.tar.gz设置环境变量#修改~/.bashrc文件$sudogedit~/.bashrc#在该文件最后一行插入$exportPATH=$PATH:/usr/local/go/bin$source~/......
  • git中 commit 和 pull 的先后顺序问题会产生多余的merge记录
    commit和pull的先后顺序问题最近提交代码,发现一个问题。自己很清楚的记得本次的提交是没有进行合并的。奇怪的死gitlab中的history历史中显示了我对本次进行了Merge合并操作。并且Merge合并操作中显示了很多不是本次对代码的修改。这就很明显了,git自动生成的merge操......
  • Struts2_防表单重复提交
    一、造成重复提交主要的两个原因:  在平时的开发过程中,经常可以遇到表单重复提交的问题,如做一个注册页面,如果表单重复提交,那么一个用户就会注册多次,重复提交主要由于两种原因。  1、一是,服务器处理时间久。当用户在表单中填完信息,点击“提交”按钮后,由于服务器反应时间过长......
  • 点晴模切ERP仓库管理中的货位与标识
    在现实的仓储管理中,我们常常听说有发错料、发串料的情况发生。究其原因,我认为这其中难免有保管人员粗心大意的主观成分,而最主要的、客观的因素应该是货位与标识不清。如果员工能力强,他即使不识货也知道这个东西就在某个货位等着他,因为不识货,他在货物落地时就会做好记录,给这个物品做......
  • JS阻止表单提交
    阻止表单提交方法一:<inputtype=submitname=t_buttonοnclick="aaa();returnfalse">方法二:<inputtype=submitname=t_buttonοnclick="returnaaa()">functionaaa(){...returnfalse;}......
  • [git] 规范Commit格式
    规范Commit格式Jenkins根据对比当次构建和上次构建的Commit信息来生成ChangeLog,但因为我们目前的提交不够规范,经常有类似"#","update"这列的提交,无法提供给PM有效的更新记录,所以建议大家尽量规范Commit格式。ConventionalCommits目前推荐大家是有这套规范,如果大家有更好的可以......
  • 26-springcloud-config-3-配置中心仓库
    远程git 本地git还有码云码云上创建仓库,gitclone到本地,是一个工程;new一个目录config-server需要在gitee上设置好配置中心,我们通过idea把gitee上的springcloud项目clone到本地,然后再项目下创建一个文件夹config-center,然后在config-center中创建四个配置文件,如下:ap......