当前位置: 首页 > ds >正文

git -- 对远程仓库的操作 -- 查看,添加(与clone对比),抓取和拉取,推送(注意点,抓取更新+合并的三种方法,解决冲突,对比),移除

目录

对远程仓库的操作

介绍

查看 (git remote)

介绍

查看详细信息

添加(git remote add)

介绍

与 git clone对比

从远程仓库中抓取与拉取

抓取(git fetch)

拉取(git pull)

推送(git push)

介绍

注意

抓取更新+合并的方法

git fetch + git merge

解决冲突

git fetch + git rebase

解决冲突

git pull

对比

移除(git remote remove/rm)


对远程仓库的操作

介绍

远程仓库是托管在网络中的 Git 仓库

  • 常见的平台有 GitHub、Gitee、GitLab 等
  • 我们可以与远程仓库进行同步、协作开发、备份等操作

 

查看 (git remote)

介绍

git remote

  • 查看当前 Git 仓库配置的远程仓库名称
  • (默认是origin)

如果添加 -v选项

  • 查看远程仓库名 + 详细 URL(fetch 和 push -- 拉取/推送代码)

查看详细信息

git remote show <remote> 命令 用于显示关于指定远程仓库的详细信息,不仅包括仓库的 URL,还包括一些其他关键的信息

  • 还会列出哪些远程分支 不在你的本地 / 已经从服务器上移除 , 执行 git pull 时,哪些本地分支可以与它跟踪的远程分支自动合并

 

添加(git remote add)

介绍

git remote add 新名字 地址

  • 给当前本地 Git 仓库添加一个远程仓库地址,并起一个别名 -- 这样你之后就可以通过这个别名来操作远程仓库,而不用每次都写完整的 URL
  • 核心是添加了一个指向远程仓库的“地址标记”,修改了本地仓库的.git/config 文件

与 git clone对比

从远程仓库中抓取与拉取

抓取(git fetch)

git fetch <远程仓库名>把远程仓库的新提交、分支(当前所有还没有的数据)等内容下载到本地,但不会自动合并或改变你的当前工作分支

需要手动合并

  • 把远程的 origin/main 合并到你当前的分支

拉取(git pull)

git pull <远程名> <分支名>

  • 表示从远程仓库 originmain 分支抓取更新,并合并到你当前所在的分支
  • git fetch + git merge 的快捷方式 -- 从远程抓取最新数据 + 合并当前分支与远程分支

推送(git push)

介绍

当你想要将 master 分支推送到 origin (默认名)服务器时,使用 git push <remote> <branch> 命令可以将你所做的备份到服务器

  • eg: $ git push origin master

注意

成功推送的条件 -- 要有克隆服务器的写入权限 + 之前没有人推送过(本地是“基于最新的”)

  • 如果别人先你一步推送了新的提交,然后你再尝试推送你自己基于旧版本的提交,推送请求会被拒绝

  • 你必须先抓取他们的工作,并将其合并进你的工作后,才能推送

抓取更新+合并的方法

git fetch + git merge

  • 进行分支合并(远端和本地)时,如果你本地有修改过某个文件,而远程也对同一部分进行了修改,Git 无法自动合并,就会发生冲突
解决冲突

执行 git status查看哪些文件发生了冲突 -- 未解决的冲突文件标记为 unmerged

  • 也就是删除掉你认为不需要的内容
  • 注意,一定要把冲突标记全部删除 -- 否则Git 会认为你没有解决冲突,文件仍然处于冲突状态
  • 如果想要合并,就把标记删除即可

解决冲突后,使用 git add 将冲突文件标记为已解决,然后就可以进行提交+推送

git fetch + git rebase

  • 如果你本地的某个提交和远程的更新有冲突,Git 会停止 rebase 过程,提示你解决冲突
解决冲突

前面的步骤都是一样的,查看+手动处理+标记为已解决

完成后,继续进行rebase -- 执行 git rebase --continue 继续 rebase 过程

  • 如果还有其他冲突,git会再次停止,你需要重复上述过程,直到无冲突

完成rebase后,即可推送

git pull

对比

移除(git remote remove/rm)

git remote remove/rm

  • 从当前 Git 仓库的配置中移除指定的远程仓库 -- 意味着本地仓库将不再与该远程仓库进行交互 (删除了该远程仓库相关的远程跟踪分支+配置信息)
http://www.xdnf.cn/news/320.html

相关文章:

  • 模块内聚:理解和优化模块设计的关键
  • C#如何动态生成实体类?5种方法详解与实战演示
  • 运营商二要素API接口有哪些应用场景?
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(三级)真题
  • 练习(杨辉三角、字符串旋转)
  • 算法-链表
  • datasheet数据手册-阅读方法
  • 拆机装机,通电主板亮灯风扇不转无法开机解决办法
  • Three.js 教程导航页【目录总览】
  • SpringBoot集成oshi 查询系统数据
  • EVAL长度限制突破
  • 2000V高压储能趋势下,磁环如何实现高低温衰减≤12%
  • 性能测试面试题的详细解答
  • 习题3.4 最长连续递增子序列
  • 习题2.8 输出全排列
  • yarn常用的命令
  • Spring_MVC 快速入门指南
  • C++程序设计基础实验:C++对C的扩展特性与应用
  • Libtorch安装与使用
  • kubernetes-使用ceph-csi
  • Linux 进程
  • 浅析MySQL事务锁
  • 全球IP地址查询API:查询该IP所属的区域,提供即时服务
  • 【时时三省】(C语言基础)用do...while语句实现循环
  • 云端免费训练 AI 大模型推荐(适用于个人学习)
  • github 项目迁移到 gitee
  • 多肽 N 端乙酰化有什么作用?
  • 【机试】高精度
  • Java 数据类型全解析:基础、引用与包装类全面梳理
  • 【杂说杂谈】国产替代计划的思考