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 "10311112+wwwzhang-com@user.noreply.gitee.com"
# 注意: 如果邮箱设置的是别人的邮箱,那么提交到远程仓库就会显示别人的头像与名称
git config --global user.email "10311112+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 "10311112+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
Git提交代码仓库的两种方式的更多相关文章
- 对Java代码加密的两种方式,防止反编译
使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的j ...
- 使用JQuery提交表单的两种方式选择
有一个表单,如果使用JQuery提交的话,可以使用下面2中方式,但他们的区别却是根据实际需求需要进行选择的. 第一种:表单按照action路径提交后,页面会刷新. $("#id") ...
- docker 私有仓库的两种方式
1.使用官方默认的registry镜像构建本地仓库 这种方式适用于小规模的镜像仓库储存,没有Ui界面 (1)docker pull registry (2)docker run -d -p 5000: ...
- jquery ajax提交表单数据的两种方式
http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...
- 线程池提交任务的两种方式:execute与submit的区别
Java中的线程池在进行任务提交时,有两种方式:execute和submit方法. 一.execute和submit的区别 execute只能提交Runnable类型的任务,无返回值.submit既可 ...
- 获取Executor提交的并发执行的任务返回结果的两种方式/ExecutorCompletionService使用
当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直 ...
- Android提交数据到服务器的两种方式四种方法
本帖最后由 yanghe123 于 2012-6-7 09:58 编辑 Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方 ...
- 实验四——使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
实验目的: 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 实验过程: 查看系统调用列表 get pid 函数 #include <stdio.h> #include & ...
- 推送代码到GitHub上的两种方式
要想将本地Git上代码提交到GitHub可以使用两种协议进行提交,分别使用HTTPS和SSH两种协议,如下所示. 当使用HTTPS协议时,每次推送的时候都需要输入GitHub平台的用户名密码. ...
- js进阶 12-16 jquery如何实现通过点击按钮和按下组合键两种方式提交留言
js进阶 12-16 jquery如何实现通过点击按钮和按下组合键两种方式提交留言 一.总结 一句话总结:实现按下组合键提交留言是通过给input加keydown事件,判断按键的键码来实现的. 1.如 ...
随机推荐
- git—分支设置
什么是分支? 项目以上线,但需要开发新的功能.不能直接在项目上进行开发的,这时候就需要创建一个分支,去完成新功能的开发.测试等.完成之后合并到主分支上面.如果新功能的开发不用分支,导致的问题就会有很多 ...
- sed随笔
sed [-hnV] [-e<script>][-f<script文件>] [文本文件] 参数说明: -e<script>或--expression=<sc ...
- MySql 入门——日期计算
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等 SELECT TIMESTAMPDIFF( ...
- MacOS ssh config 配置
Host 别名 #password 注释,保存密码 HostName IP User 服务器账号#root Port 端口 IdentityFile ~/.ssh/id_rsa #指定密钥 Remot ...
- psq强制携带-h
背景: pg更新后psql 指令必须携带 -h指令,导致很多直接使用"psql"的shell脚本无法连接. 方案: 1.挨个更新调用psql的地方: 显然太多了,改不过来. 2.新 ...
- ES2016-ES2020
参考:https://zhuanlan.zhihu.com/p/59096242 备注:可以使用ES6取代的10个Lodash特性 https://www.w3cplus.com/javascript ...
- Quine-McCluskey两级逻辑化简算法原理解析
转载请务必注明出处:https://www.cnblogs.com/the-wind/p/15764283.html 目录 1 背景介绍:两级逻辑 2 Quine-McCluskey两级逻辑化简 2. ...
- msfvenom的使用
msfvenom也只metasploit中的一个很强的工具,msfvenom生成木马非常的迅速可以各种版本的木马 该工具由msfpaylod和msfencodes的组成 生成木马是需要在本地监听,等待 ...
- 换个脑袋,做个小练习------四则运算系统的随机出题的jsp实现
四则运算出题系统网页界面的实现(别期待,只有俩操作数) index.jsp <%@ page contentType="text/html;charset=UTF-8" la ...
- gRPC之.Net6中的客户端和服务端共用proto协议文件
1.说明 在上一篇文章gRPC之.Net6中的初步使用介绍中,我们简单的介绍了gRPC在服务端.客户端以及Web项目中的使用. 有一个问题,不知道大家发现没有,就是不管在服务端项目还是客户端项目中,我 ...