【Git】07 本地仓库同步到GitHub或Gitee

news2024/11/18 12:27:01

文章目录

  • 一、远端仓库配置
    • 1.1 配置密钥认证
    • 1.2 新建仓库
  • 二、本地配置
    • 2.1 添加远程库
  • 三、push推送
  • 四、拉取合并与推送
    • 4.1 拉取fetch
    • 4.2 合并merge
    • 4.3 推送push
  • 五、总结


一、远端仓库配置

1.1 配置密钥认证

1)ssh-keygen
本地端命令行上执行ssh-keygen命令,
得到生成的密钥(公钥):cat ~/.ssh/id_rsa.pub
打开GitHub或Gitee,在头像展开设置中找到SSH公钥,新建SSH,随便取名,并将上面id_rsa.pub内容复制粘贴到公钥文本框中,到此密钥便配置完成。

通过命令查看本地与远端Gitee是否连接成功:

ssh -T git@gitee.com
Hi asdfv1929(@asdfv1929)! You've successfully authenticated, but GITEE.COM does not provide shell access.

1.2 新建仓库

在Gitee上新建仓库test
在这里插入图片描述

创建完成后,页面会跳转到如下内容,显示常用的Git命令操作:
在这里插入图片描述

二、本地配置

2.1 添加远程库

通过git remote add name url在本地仓库端添加远程仓库的路径:

git remote add gitee https://gitee.com/asdfv1929/test.git

git remote -v 查看本地的远程仓库:

git remote
gitee

git remote -v    # -v 表示显示详细内容
gitee   https://gitee.com/asdfv1929/test.git (fetch)
gitee   https://gitee.com/asdfv1929/test.git (push)

三、push推送

先看一下本地有哪些分支,之后便将本地仓库中的所有分支都推送到远端仓库上。

git branch -av
* master cb27ad9 add file2 second edit
  temp   1395813 add readme

git push gitee --all          # 所有分支都推送到指定名称的远端上,,或者是指定分支名
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 6 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), 561 bytes | 561.00 KiB/s, done.
Total 7 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/asdfv1929/test.git
 * [new branch]      master -> master
 * [new branch]      temp -> temp

推送成功后,远程仓库中刷新下页面就能看到已包含相关内容:
在这里插入图片描述

四、拉取合并与推送

在推送过程中也可能会遇到这样的问题:

git push gitee master    # 将本地仓库的master分支推送到远端
To https://gitee.com/asdfv1929/test.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/asdfv1929/test.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

上述过程中,其他分支推送正常,但master分支报错:! [rejected] master -> master (fetch first)
这是因为远端仓库中也有个master分支(两边分支内容不一致),此时需要先将远端master拉取到本地,进行合并后,再去push到远端。

4.1 拉取fetch

拉取指定远程端的特定分支master到本地:

git fetch gitee master     # 拉取指定远程端的特定分支,会形成单独的一棵树
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 956 bytes | 43.00 KiB/s, done.
From https://gitee.com/asdfv1929/test
 * branch            master     -> FETCH_HEAD
   0c04709..7610824  master     -> gitee/master

4.2 合并merge

在本地端将远端的master分支合并到本地端master分支上:

git checkout master       # 先切换到本地master分支

git branch -av            # 查看所有分支
* master               5343aab second edit
  temp                 1395813 add readme
  remotes/gitee/master 7610824 update readme.
  remotes/gitee/temp   1395813 add readme

# 合并
git merge --allow-unrelated-histories gitee/master
Auto-merging readme
CONFLICT (content): Merge conflict in readme
Automatic merge failed; fix conflicts and then commit the result.

但此时遇到报错,Git提示在readme文件中发生冲突。
那么在本地就去看下readme文件的内容,可以发现有如下一些东西:

cat readme
this is a test of push
<<<<<<< HEAD


second edit
=======
hahhahahahaha
hahahahahah
>>>>>>> gitee/master

<<<<<<< HEAD和 “======” 之间的内容是当前分支之前的修改,
“======” 和>>>>>>> gitee/master 之间内容是远端master分支上的修改。
因此,Git在这边报冲突,其实就是它无法判断哪些需要保留哪些需要删除,此时就需要人为去干预,去保留或是删除文件中冲突的部分
这边选择都保留下来:

cat readme
this is a test of push

second edit
hahhahahahaha
hahahahahah

4.3 推送push

保留或删除的人为干预操作做完之后,就可以再次进行添加、提交与最后的推送到远端库上。

git add .

git status
On branch master
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:
        modified:   readme

git commit -m "merge readme"
[master 73c6ad9] merge readme

git push gitee master
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 6 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 548 bytes | 548.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/asdfv1929/test.git
   7610824..73c6ad9  master -> master

远端仓库上的内容已发生更新:
在这里插入图片描述

pull = fetch + merge

五、总结

本文主要讲得是将本地端代码同步到远程仓库中,这个远程仓库可以是互联网上的Gitee或GitHub公共库,也可以是公司或部门内部的私有代码库。对于这同步过程中的操作,得牢记于心。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1443226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT高效提问—prompt常见用法(续篇四)

ChatGPT高效提问—prompt常见用法&#xff08;续篇四&#xff09; 1.1 知识生成 ​ 知识生成是指使用自然语言处理技术&#xff0c;通过ChatGPT等AI模型生成与特定主题相关的知识、文本或回答。在知识生成过程中&#xff0c;模型接收prompt输入的问题、指令或上下文信息&…

腾讯云4核8G12M轻量应用服务器性能够用吗?支持多少人?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

【5G NR】【一文读懂系列】移动通讯中使用的信道编解码技术-Viterbi译码原理

目录 一、引言 二、Viterbi译码的基本原理 2.1 卷积码与网格图 2.2 Viterbi算法的核心思想 2.3 路径度量与状态转移 三、Viterbi译码算法工作原理详解 3.1 算法流程 3.2 关键步骤 3.3 译码算法举例 3.4 性能特点 四、Viterbi译码的应用场景 4.1 移动通信系统 4.2 卫…

【GO语言卵细胞级别教程】04.GO函数介绍

【GO语言卵细胞级别教程】04.GO函数介绍 目录&#xff1a; 【GO语言卵细胞级别教程】04.GO函数介绍0.创建项目1.函数的引入2.注意事项3.详细介绍3.1 形参介绍 0.创建项目 创建目录 执行命令加载模块 cd 02.gostudy目录下 1.进入目录下 cd 02.gostudy 2.初始化模块变量 go …

django admin 自定义界面时丢失左侧导航 nav_sidebar

只显示了自定义模板的内容&#xff0c;左侧导航没有显示出来。 原因&#xff1a;context 漏掉了&#xff0c;要补上。 # 错误写法&#xff08;左侧导航不显示&#xff09;def changelist_view(self, request, extra_contextNone):form CsvImportForm()payload {"form&qu…

【linux温故】CFS调度

写在前面 网上关于CFS 调度器的文章多如牛毛&#xff0c;没必要自己写。很多文章写的都非常好。 很多文章里&#xff0c;关键的技术点&#xff0c;都是一样的&#xff0c;只是各个文章说法不一样。 掌握了核心的&#xff0c;关键的&#xff0c;其他的&#xff0c;如果工作中…

【Spring框架】Spring事务的原理

目录 〇、对类或方法的Spring事务属性进行解析 0.1 解析标签 0.2 注册 InfrastructureAdvisorAutoProxyCreator 0.3 判断目标方法是否适合 canApply 0.4 匹配标签 match 0.5 小结 一、Spring事务的实现 1.1 准备事务 1.1.1 收集Transactional注解属性信息&#xff0c;…

【第六天】c++虚函数多态

一、多态的概述 多态按字面的意思就是多种形态。当类之间存在层次结构&#xff0c;并且类之间是通过继承关联&#xff08;父类与子类&#xff09;时&#xff0c;就会用到多态。 C 多态意味着调用成员函数时&#xff0c;会根据调用函数的对象的类型来执行不同的函数。 静态多态&…

改变终端安全的革命性新兴技术:自动移动目标防御技术AMTD

自动移动目标防御技术通过启用终端配置的自适应防御来改变终端检测和响应能力。产品领导者可以实施AMTD来确保实时威胁响应&#xff0c;并减少检测和响应安全威胁所需的时间。 主要发现 通过动态修改系统配置、软件堆栈或网络特征&#xff0c;自动移动目标防御&#xff08;AMTD…

[word] word斜线表头怎么做? #微信#媒体#职场发展

word斜线表头怎么做&#xff1f; 在制作Word表格的时候&#xff0c;经常会用到两栏三栏的表头&#xff0c;这样两栏、三栏的斜线表头你都是怎么样制作的呢&#xff1f;今天给大家分享在Word中制作两栏、三栏斜线表头的多种制作方法。 1、边框法 选中第一个单元格&#xff0c…

基于JSP的网上购书系统

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/88825694?spm1001.2014.3001.5503 Java项目-15 源码论文数据库配置文件 基于JSP的网上购书系统 摘要 在当今的社会中&#xff0c; 随着社会经济的快速发展以及计算机网络技术和通讯技术…

第8章 多线程

8.1 线程概述 人们在日常生活中&#xff0c;很多事情都是可以同时进行的。例如&#xff0c;一个人可以一边听音乐&#xff0c;一边打扫房间&#xff0c;可以一边吃饭&#xff0c;一边看电视。在使用计算机时&#xff0c;很多任务也是可以同时进行的。例如&#xff0c;可以一边…

LabVIEW伺服阀性能参数测试

LabVIEW伺服阀性能参数测试 伺服阀作为电液伺服系统中的核心元件&#xff0c;其性能参数的准确测试对保证系统整体性能至关重要。开发了一种基于LabVIEW软件开发的伺服阀性能参数测试系统&#xff0c;提高测试的自动化程度和精确性&#xff0c;同时降低操作复杂度和成本。 传…

分享86个表单按钮JS特效,总有一款适合您

分享86个表单按钮JS特效&#xff0c;总有一款适合您 86个表单按钮JS特效下载链接&#xff1a;https://pan.baidu.com/s/1WwQGFPWv8464JBcuEMJZ_Q?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;…

人工智能算法:理解其工作原理及其在现实世界中的应用

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已逐渐成为我们生活中不可或缺的一部分。从智能语音助手到自动驾驶汽车&#xff0c;再到医疗诊断系统&#xff0c;人工智能算法正以前所未有的速度改变着我们的世界。本文将带您深入探讨人工智能算法的工作原…

模运算的变换公式

这个构造很重要&#xff0c;变形都是基于这个实现的 分配律 &#xff08;1&#xff09; 因此 (a*b) % p ((a%p) * (b%p)) % p (q*r) % p &#xff08;2&#xff09; (ab)%p(a%pb%p)%p &#xff08;3&#xff09; ((ab)%pc)%p ( (ac)%p (b*c)%p )%p

HTTPS证书终于挥下了无情的镰刀-HTTPS证书自动续签方案

现在网站基本都上了 HTTPS 证书 阿里云 SSL 产品日前发布公告&#xff0c;公告显示自 2023 年 11 月 14 日开始生效厂商策略&#xff0c;对于免费提供的 SSL 证书签发后证书有效期统一为 3 个月&#xff0c;不再免费提供 1 年版免费证书。想要 1 年的需要购买 68 块一年。终于…

开源大数据集群部署(十)Ranger usersync部署

作者&#xff1a;櫰木 ranger usersync部署 解压包 [roothd1.dtstack.com ranger]# pwd /opt/ranger [roothd1.dtstack.com ranger]# tar -zxvf ranger-2.3.0-usersync.tar.gz -C /opt/ [roothd1.dtstack.com ranger]# cd ranger-2.3.0-usersync修改配置install.properties…

初识String类和String类的拓展

前言&#xff1a;以下是Java中String类的知识点与一些常见问题和注意事项&#xff0c;如有讲解不妥&#xff0c;请见谅&#xff01; 目录 1.String类的创建及常见API &#xff08;1&#xff09;String类的四种创建方式&#xff1a; 补充&#xff1a;字符串转化成字符数组 / …

使用cocos2d-console初始化一个项目

先下载好cocos2d-x的源码包 地址 https://www.cocos.com/cocos2dx-download 这里使用的版本是 自己的电脑要先装好python27 用python安装cocos2d-console 看到项目中有个setup.py的一个文件 python setup.py 用上面的命令执行一下。 如果执行正常的话回出现上面的图 然后…