【Git】远程仓库操作

创建远程仓库

在官网进行注册登录:GiteeGithub

进入后点击新建仓库,默认选项创建即可

**仓库创建完成后可以看到SSH的仓库地址:git@gitee.com:username/test.git**或git@github.com:Toukensan/test.git

配置SSH公钥

在本地通过命令行创建一个生成SSH公钥,需填信息置空即可:

sh 复制代码
ssh-keygen -t rsa  #如果公钥已经存在,则自动覆盖

获取创建的公钥:

sh 复制代码
cat ~/.ssh/id_rsa.pub

Gitee设置账户公钥: 个人设置:安全设置:SSH公钥中将上一步获取到的公钥粘贴

Github设置账户公钥: 头像:settings:Access:SSH and GPG keys中将上一步获取到的公钥粘贴

验证是否配置成功:

sh 复制代码
ssh -T git@gitee.com
ssh -T git@github.com

操作远程仓库

添加远程仓库

添加远程仓库是将本地仓库与远程仓库关联起来的一步。首先,需要初始化本地仓库,然后将其与已经创建的远程仓库对接。

命令形式:

sh 复制代码
git remote add <远端名称> <仓库路径>
  • <远端名称>:远程仓库的名称,默认是 origin,但可以根据需要自定义。
  • <仓库路径>:远程仓库的 URL,可以从远程服务器获取。

示例:

sh 复制代码
git remote add origin git@gitee.com:touken/test.git

查看远程仓库

查看当前配置的远程仓库列表及其名称。

命令形式:

sh 复制代码
git remote

如果想查看详细信息,可以使用:

sh 复制代码
git remote -v

推送到远程仓库

将本地分支的更改推送到远程仓库。

命令形式:

sh 复制代码
git push [-f] [--set-upstream] <远端名称> <本地分支名>:<远端分支名>
  • -f:强制覆盖远端仓库中的内容。
  • --set-upstream:推送到远端的同时,建立本地分支和远端分支的关联关系。
  • <远端名称>:远程仓库的名称(如 origin)。
  • <本地分支名>:本地分支的名称。
  • <远端分支名>:远端分支的名称。

示例:

推送 master 分支到远端 origin 仓库:

sh 复制代码
git push origin master

强制推送:

sh 复制代码
git push -f origin master

设置上游分支:

git push --set-upstream origin master

如果当前分支已经与远端分支关联:

sh 复制代码
git push

本地分支与远程分支的关联关系

查看本地分支与远程分支的关联关系。

命令形式:

sh 复制代码
git branch -vv

从远程仓库克隆

从远程仓库克隆一个副本到本地。

命令形式:

sh 复制代码
git clone <仓库路径> [本地目录]
  • <仓库路径>:远程仓库的 URL。
  • [本地目录]:克隆到本地的目录名称,可以省略,默认会创建一个与远程仓库同名的目录。

示例:

sh 复制代码
git clone git@gitee.com:czbk_zhang_meng/git_test.git

从远程仓库中抓取

抓取远程仓库中的更新到本地,但不进行合并。

命令形式:

sh 复制代码
git fetch [远端名称] [分支名]

如果不指定远端名称和分支名,将抓取所有分支。

示例:

sh 复制代码
git fetch origin master

抓取所有分支:

sh 复制代码
git fetch

从远程仓库中拉取

拉取远程仓库中的更新到本地,并自动进行合并。相当于 fetch 加上 merge

命令形式:

sh 复制代码
git pull [远端名称] [分支名]

如果不指定远端名称和分支名,将抓取所有分支并更新当前分支。

示例:

git pull origin master

拉取所有分支并更新当前分支:

sh 复制代码
git pull

解决合并冲突

拉取远程仓库的最新更改

首先,从远程仓库拉取最新的更改。这一步可以让你同步最新的代码并发现潜在的冲突。

sh 复制代码
git pull origin <分支名>

如果当前分支已经与远程分支关联,可以直接使用:

sh 复制代码
git pull

发现冲突

在执行 git pull 后,如果存在冲突,Git 会提示你冲突的文件并停止合并。你会看到类似如下的提示:

sh 复制代码
CONFLICT (content): Merge conflict in <文件名>
Automatic merge failed; fix conflicts and then commit the result.

查看冲突文件

打开冲突文件,你会看到类似以下的冲突标记:

复制代码<<<<<<< HEAD
这是你本地分支的内容
=======
这是远程分支的内容
>>>>>>> <远程分支名>
  • <<<<<<< HEAD======= 之间的部分是你本地分支的修改。
  • =======>>>>>>> <远程分支名> 之间的部分是远程分支的修改。

解决冲突

手动编辑冲突文件,合并本地和远程的更改。你可以选择保留本地更改、远程更改,或者合并两者。

例如,解决冲突后的文件:

这是合并后的内容,包含了本地和远程的更改。

标记冲突已解决

解决冲突后,使用 git add 命令将解决冲突后的文件标记为已解决:

sh 复制代码
git add <文件名>

提交合并结果

标记冲突已解决后,提交合并结果:

sh 复制代码
git commit

如果合并提交消息已经自动生成,可以直接保存并关闭编辑器。

推送更改到远程仓库

解决冲突并提交后,将合并结果推送到远程仓库:

sh 复制代码
git push origin <分支名>

如果当前分支已经与远程分支关联,可以直接使用:

sh 复制代码
git push
相关推荐
GZ_TOGOGO1 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
狼头长啸李树身3 小时前
眼儿媚·秋雨绵绵窗暗暗
大数据·网络·服务发现·媒体
Json_181790144803 小时前
商品详情接口使用方法和对接流程如下
大数据·json
Data 3174 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
bubble小拾7 小时前
ElasticSearch高级功能详解与读写性能调优
大数据·elasticsearch·搜索引擎
ZOHO项目管理软件8 小时前
EDM平台大比拼 用户体验与营销效果双重测评
大数据
HyperAI超神经8 小时前
Meta 首个多模态大模型一键启动!首个多针刺绣数据集上线,含超 30k 张图片
大数据·人工智能·深度学习·机器学习·语言模型·大模型·数据集
Hello.Reader11 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天11 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客11 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索