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


文章目录

  • 一、远端仓库配置
    • 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
giteegit 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 edittemp   1395813 add readmegit 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_HEAD0c04709..7610824  master     -> gitee/master

4.2 合并merge

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

git checkout master       # 先切换到本地master分支git branch -av            # 查看所有分支
* master               5343aab second edittemp                 1395813 add readmeremotes/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
<<<<<<< HEADsecond edit
=======
hahhahahahaha
hahahahahah
>>>>>>> gitee/master

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

cat readme
this is a test of pushsecond 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:   readmegit commit -m "merge readme"
[master 73c6ad9] merge readmegit 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.git7610824..73c6ad9  master -> master

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

pull = fetch + merge

五、总结

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


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-02-06(Sqoop)

1.Sqoop Apache Sqoop是Hadoop生态体系和RDBMS&#xff08;关系型数据库&#xff09;体系之间传递数据的一种工具。 Sqoop工作机制是将导入或者导出命令翻译成MapReduce程序来实现。在翻译出的MapReduce中主要是对inputformat和outputformat进行定制。 Hadoop生态包括&#…

Jmeter 基于Docker 实现分布式测试

基于Docker 实现分布式测试 制作Jmeter基础镜像制作工作节点镜像启动工作节点启动控制节点遇到的问题 使用Docker 部署Jmeter非常方便&#xff0c;可以省略软件的安装以及配置&#xff0c;比如jdk、jmeter。需要部署多个工作节点可以节省时间。 控制节点&#xff08;Master-主节…

数据库触发器

在实际开发中&#xff0c;我们经常会遇到这样的情况&#xff1a;有 2 个或者多个相互关联的表&#xff0c;如 商品信息 和 库存信息 分 别存放在 2 个不同的数据表中&#xff0c;我们在添加一条新商品记录的时候&#xff0c;为了保证数据的完整性&#xff0c;必须同时…

服务器被黑,安装Linux RootKit木马

前言 疫情还没有结束&#xff0c;放假只能猫家里继续分析和研究最新的攻击技术和样本了&#xff0c;正好前段时间群里有人说服务器被黑&#xff0c;然后扔了个样本在群里&#xff0c;今天咱就拿这个样本开刀&#xff0c;给大家研究一下这个样本究竟是个啥&#xff0c;顺便也给…

工业以太网交换机引领现代工厂自动化新潮流

随着科技的飞速发展&#xff0c;现代工厂正迎来一场前所未有的自动化变革&#xff0c;而工业以太网交换机的崭新角色正是这场变革的关键组成部分。本文将深入探讨工业以太网交换机与现代工厂自动化的紧密集成&#xff0c;探讨这一集成如何推动工业生产的智能化、效率提升以及未…

【教学类-47-01】UIBOT+IDM下载儿童古诗+修改文件名

背景需求&#xff1a; 去年12月&#xff0c;我去了其他幼儿园参观&#xff0c;这是一个传统文化德育教育特色的学校&#xff0c;在“古典集市”展示活动中&#xff0c;小班中班大班孩子共同现场念诵《元日》《静夜思》包含了演唱版本和儿歌念诵版本。 我马上也要当班主任了&a…

分享66个行业PPT,总有一款适合您

分享66个行业PPT&#xff0c;总有一款适合您 66个行业PPT下载链接&#xff1a;https://pan.baidu.com/s/1kcUOfR_xtH9CAJC12prcTw?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知…

矩阵的正定(positive definite)性质的作用

1. 定义 注意&#xff0c;本文中正定和半正定矩阵不要求是对称或Hermite的。 2. 性质 3. 作用 &#xff08;1&#xff09;Axb直接法求解 cholesky实对称正定矩阵求解复共轭对称正定矩阵求解LDL实对称非正定矩阵求解复共轭对称非正定矩阵求解复对称矩阵求解LU实非对称矩阵求解…

[晓理紫]AI专属会议截稿时间订阅

AI专属会议截稿时间订阅 关注{晓理紫|小李子}&#xff0c;每日更新最新AI专属会议信息&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持&#xff01;&#xff01; 如果你感觉对你有所帮助&#xff0c;请关注我&#xff0c;每日准时为你推送最新AI专属…

pycharm deployment 灰色 一直无法点击

我的development的配置如下&#xff0c;我看了很多教程一直不知道为什么一直是灰色的&#xff0c; 文件夹配置&#xff1a; 如果你这里 Autodect&#xff0c;那么你Mapping 的文件夹应该是应该省略这个前缀的&#xff0c;例如我下面&#xff0c;我应该将本地文件夹映射到/home…

【经典项目】Java实现打地鼠小游戏(附源码)

一、游戏回顾 打地鼠游戏是一款简单而有趣的反应游戏。游戏中&#xff0c;你需要在地洞中出现的地鼠出现时迅速点击它们&#xff0c;以获得分数。以下是一般的打地鼠游戏玩法介绍&#xff1a; 准备阶段&#xff1a;游戏开始时&#xff0c;你会看到一个由多个地洞组成的游戏界面…

用python编写爬虫,爬取房产信息

题目 报告要求 工程报告链接放在这里 https://download.csdn.net/download/Samature/88816284使用 1.安装jupyter notebook 2.用jupyter notebook打开工程里的ipynb文件&#xff0c;再run all就行 注意事项 可能遇到的bug 暂无&#xff0c;有的话私信我