【Git】远程仓库操作

创建远程仓库

在官网进行注册登录:Gitee或Github

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

**仓库创建完成后可以看到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
相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
Winlifes3 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
尧炎科技3 天前
防潮抗变形,就选纯品梅花全桉多层板
大数据
程序员大阳3 天前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
嘉立创FPC苗工3 天前
FPC与机器人的双向赋能,解锁智能装备进化新势能
大数据·人工智能·制造·fpc·电路板
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
龙亘川3 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务