场景二:Git远程版本库的基本用法

2023-11-15

1、克隆远程版本库

如果你已经在Gitee或者GitHub等网站上创建了Git版本库,可以通过git clone命令,将版本库克隆到本地完成本地版本库的初始化。git clone命令的用法如下:

git clone https://DOMAIN_NAME/YOUR_NAME/REPO_NAME.git

通过克隆远程版本库从而在本地创建了一个版本库,这时就可以参照场景一的本地版本库基本用法,执行查看工作区的状态、暂存更改的文件、把暂存区提交到仓库,以及回到过去、回到未来等本地版本控制的基本操作。

2、远程版本库的基本命令简介

注:我们假定远程版本库用作远程备份或者公开源代码。还是像场景一一样介绍单人的版本控制,为了循序渐进,暂时不涉及多人项目的协作。

这里使用git clone之后默认的分支,即远程为origin/master、本地为master,没有创建其他分支。查看本地版本库所跟踪的远程存储库的命令为git remote。

执行git remote命令后可以看到克隆之后默认的远程存储库名称为origin。

执行git remote -v 命令可以查看更详细的远程存储库信息,包括抓取(fetch)的远程存储库URL和推送(push)的远程存储库的URL。

git fetch、git push和git clone是3个对远程存储库的基本操作的命令,而git pull实际上是git fetch与git merge的组合。

  • git clone:克隆一个存储库到一个新的目录下。
  • git fetch:下载一个远程存储库数据对象等信息到本地存储库。
  • git push:将本地存储库的相关数据对象更新到远程存储库。
  • git merge:合并两个或多个开发历史记录。
  • git pull:从其他存储库或分支抓取并合并到当前当前存储库的当前分支。

        实际操作中难免会产生无法同步的情况,这时就需要在本地解决冲突。首先我们通过git pull拉取远程仓库并合并到当前分支,即将origin/master中的提交项抓取到本地仓库并合并到本地master分支。

        拉取过程中有可能产生冲突,无法完成合并,这时需要对产生冲突的代码进行修改并提交到本地仓库,即利用git add . 和 git commit -m 等本地版本库的命令。

        这时本地仓库的提交项是领先于远程仓库的,只需要通过git push将本地仓库中的提交项推送到远程仓库,即可完成本地仓库和远程仓库的同步。

注意:推送过程中一般需要用户名和密码验证身份。


以上内容为中科大软件学院《高级软件工程》课后总结,感谢孟宁老师的倾心教授,老师讲的太好啦(^_^)

参考资料:《代码中的软件工程》    孟宁  编著

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

场景二:Git远程版本库的基本用法 的相关文章

  • 不必记住我要拉和推的分支的最佳别名是什么?

    这里非常懒 不喜欢输入太多 特别不喜欢记住我在哪个分支上拉出和推入 我经常犯这样的错误git pull来自非主分支 或者更糟糕的是 进行推送并且目标分支不正确 并且我留下了未推送或未提交的更改 我在我的 bashrc以下别名可以提供帮助 a
  • 将开发分支合并到主分支的最佳实践是什么

    我们在远程git存储库中有两个分支 master分支和develop分支 当我将develop分支合并到master分支时 如何避免合并冲突 如果我解决了主分支中的冲突 那么我需要将主分支合并回开发分支以保持开发更新 我认为这不是一个好的做
  • 与 Git 持续集成

    我想在 Git 之上提供集成挂钩 以便在集成失败时推送被拒绝 例如 当开发人员推送他的更改时 我想检查该项目是否仍然可以成功编译 目前 我设置了更新后挂钩来进行编译检查 但是 当我想拒绝推送时 我会恢复更改并通知开发人员 git rever
  • Git 合并提交[重复]

    这个问题在这里已经有答案了 我是 git 的新手 并且非常喜欢它 在新分支中开发时 我不断提交应用程序的各种开发 状态 现在我必须检查它以进行审查 但不希望所有内容都进入不同的提交 不同的评论和 ID 我怎样才能像第一次一样推送所有更改 g
  • “git push heroku master”仍然要求身份验证

    我已经执行了 heroku login 但是当我尝试推送时 仍然要求我进行身份验证 git push heroku master Username for https git heroku com
  • git:如何在多台电脑之间正确共享本地副本

    我拉了一些公共存储库 在这里和那里做了一些更改 我将它们提交给我的本地副本 我经常从远程获取公共存储库中的更改 有时 我会处理来自不同 PC 的本地副本 并且需要在 PC 之间移动整个源代码 以便它们共享完全相同的更改 有几次我搞砸了复制并
  • git fsck 结合 --lost-found 和 --unreachable

    我发现了很多有趣的帖子git fsck 所以我想对它们进行一些实验 首先我在这个问题之前阅读的资料来源 如何通过关键字在 GIT 存储库中找到无法访问的提交哈希 https stackoverflow com questions 31388
  • 在 git 中标记多个分支?

    我有一个有两个分支的 git 存储库 一个用于制造 测试的代码 另一个是实际的生产固件 它们几乎相同 现在是时候剪切一个版本并发送给制造商了 所以我自然想在两个分支上放置一些适当的标签 但是 似乎 git 不允许我在两个分支上放置相同的标签
  • 带有 GitHub 页面的 Favicon

    我正在托管一些带有 GitHub 页面 用户和项目页面 的网站 但它们没有显示其图标 在浏览器中 是 GitHub 显示站点的问题吗 我知道可以显示网站图标 至少使用 Jekyll 但是我可以单独显示网站图标吗 是的你可以 把这个放入hea
  • 如何在 SourceTree 中执行 gitcherry-pick --continue ?

    解决冲突后 如何继续使用 SourceTree 进行挑选 如果我正在执行变基操作并且遇到冲突 那么在单击提交 SourceTree 解决冲突后 我可以继续进行变基操作 但如何继续樱桃采摘操作呢 cherry pick有效地将提交 A 中的更
  • 如何查看 Git 中分支的远程更改?

    我在学习 Git 的时候肯定忽略了一些东西 毕竟我对此还很陌生 我的同事说他推迟了他对我在远程存储库中的提交所做的一些更改 然而 git log 没有这个新推送的记录 我怎样才能看到他推了什么 从而知道要拉哪个分支 你必须git fetch
  • 如何将 git 存储库中的现有目录设为 git 子模块

    我对 git submodules 很困惑 基本上我的问题是我无法让 git 理解这一点 main project submodule是一个子模块 我对 git 子模块有很好的经验 in my 点文件存储库 https github com
  • 处于分离头状态时如何保存更改?

    使用 Git 时 我必须返回到特定的提交 我做了一些更改 现在我想提交它们 这样做的正确方法是什么 我的项目现在处于分离头状态 如果我提交 我的更改会被保存吗 git commit 否则 我应该怎么做才能不丢失我的更改 免责声明 git 并
  • 删除不在 master 上的所有提交

    我有一个本地 git 存储库 有几个分支 我想在本地删除所有非主分支 以及不在主分支上的提交 如何删除不在主分支上的所有提交 我后来做了一个失败的樱桃选择 因为它到达了一个合并的提交 所以它有两个父母 我需要做什么才能使它只有一个父级 来自
  • wagon-git 和 Gradle

    这个不错的小工具承诺帮助我将工件上传到私人 Bitbucket 存储库 http synergian github io wagon git bitbucket html http synergian github io wagon git
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • git pull 出现错误:访问 https://git.foo.com/bar.git 时需要 401 授权

    我的 macbook pro 能够从公司 git 服务器克隆 推送 拉取 我的 cent 6 3 虚拟机出现 401 错误 git clone https git acme com git torque setup error The re
  • SmartGIT 不要求 ssh 密钥

    切换到新计算机后 我必须再次安装 Windows 版 SmartGIT 现在尝试克隆我的 fedorahosted org repository 密钥存储在 C User myusername ssh SmartGIT 附带了全新安装 并且
  • 使用:文件上的“git update-index --skip-worktree”。现在无法更改分支

    我添加了一个带有 git update index skip worktree 的文件 效果很好 但现在我无法更改分支 由于对以下文件的现有更改 无法完成操作 它显示我更新了索引的文件 我有一次提交更改了该文件 之后我意识到我应该更新索引
  • Visual Studio Code 无法检测已安装的 git 并且“启动 git 时出错:文件名或扩展名太长”。

    我已经查看了大多数描述标题上的第一个错误的帖子 Visual Studio Code 无法检测已安装的 git 尽管如此 我相信第二个错误 启动 git 时出错 文件名或扩展名太长 生成第一个 你可以帮帮我吗 Git 在使用 Git Bas

随机推荐

  • 安卓已死?毕业一年萌新的Android大厂面经,年薪超过80万!

    前言 最近我一直在面试高级工程师 不管初级 高级 程序员 我想面试前 大家刷题一定是是少不了吧 我也一样 我在网上找了很多面试题来看 最近又赶上跳槽的高峰期 好多粉丝 都问我要有没有最新面试题 索性 我就把我看过的和我面试中的真题 及答案都
  • layer.msg 的time 时间停留问题

    layer msg 同上 icon 1 time 2000 2秒关闭 如果不配置 默认是3秒 function do something time 属性为弹框停留时间 单位为毫秒 tipsMore 属性为是否同时显示多个弹框 true为显示
  • 顺序表与数组

    顺序表是在计算机内存中以数组的形式保存的线性表 顺序表是指用一组地址连续的存储单元依次存储数据元素的线性结构 线性表采用顺序存储的方式存储就称之为顺序表 顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中 线性表采用指针链接
  • Python 如何将字符串转为字典

    在工作中遇到一个小问题 需要将一个 python 的字符串转为字典 比如字符串 user info name john gender male age 28 我们想把它转为下面的字典 user dict name john gender m
  • Kubespray-offline v2.21.0-1 下载 Kubespray v2.22.1 离线部署 kubernetes v1.25.6

    文章目录 1 目标 2 预备条件 3 vcenter 创建虚拟机 4 系统初始化 4 1 配置网卡 4 2 配置主机名 4 3 内核参数 5 打快照 6 安装 git 7 配置科学 8 安装 docker 9 下载介质 9 1 下载安装 d
  • Linux文件编程常用函数详解——exit()和_exit()函数

    两个函数的区别
  • MongoDB未授权访问漏洞复现及加固

    说明 仅供技术学习交流 请勿用于非法行为 否则后果自负 0x01 漏洞简述 MongoDB是一个介于关系数据库和非关系数据库之间的产品 是非关系数据库当中功能最丰富 最像关系数据库的 它支持的数据结构非常松散 是类似json的bson格式
  • K8s Pod 控制器(一)

    K8s workload architecture 一 RC RS 控制器 控制Pod 使Pod拥有自愈 多副本 扩缩容的能力 RC的定义包括如下几个部分 1 Pod期待的副本数 replicas 2 用于筛选目标Pod的Label Sel
  • vscode常用快捷键使用

    Ctrl K S 全部保存 Save All Ctrl S 保存 Save ctrl f 搜索 alt 方向键右 跳转到定义 F12 转到定义 Go to Definition alt 方向键左 返回跳转 F1 或 Ctrl Shift P
  • 【华为OD机试真题 python】最大平分数组【2022 Q4

    题目描述 最大平分数组 给定一个数组nums 可以将元素分为若干个组 使得每组和相等 求出满足条件的所有分组中 最大的平分组个数 输入描述 第一行输入 m 接着输入m个数 表示此数组 数据范围 1 lt M lt 50 1 lt nums
  • 漫画:什么是中台?

    没有中台的时代 在传统IT企业 项目的物理结构是什么样的呢 无论项目内部的如何复杂 都可分为 前台 和 后台 这两部分 什么是前台 首先 这里所说的 前台 和 前端 并不是一回事 所谓前台即包括各种和用户直接交互的界面 比如web页面 手机
  • CH1-Android基础入门

    文章目录 目标 一 资源的管理与使用 1 1 图片资源 1 2 主题和样式资源 1 3 布局资源 1 4 字符串资源 1 5 颜色资源 定义颜色值 1 6 尺寸资源 Android支持的尺寸单位 二 程序调试 2 1 单元测试 2 2 注意
  • hive中解决中文乱码

    一 个人初始开发环境的基本情况以及Hive元数据库说明 hive的元数据库改成了mysql 安装完mysql之后也没有进行其它别的设置 hive site xml中设置元数据库对应的配置为 jdbc mysql crxy99 3306 hi
  • Vue使用高德地图搜索功能

    下载依赖 yarn add amap amap jsapi loader 2 初始化高德地图 设置key和秘钥
  • Python numpy练习,纯英文ipynb作业26题,100%正确答案(付费)

    md Assigment 2 Instructions This problem set should be done individually Answer each question in the designated space be
  • njx如何实现负载均衡_LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡

    前言 首先声明下 由于这两天找资料 看了不少博客 但是出于不细心 参考者的博客地址没有记录下来 所有文中要是出现了与大家博客相同的地方 那么请大家在评论区说明并附上博客地址 我好引用进来 这里表示抱歉了 另外 本文是在我的另一篇博客主从热备
  • element-ui渲染el-table表格小技巧

    element ui中table的使用 当el table元素中注入data对象数组后 在el table column中用prop属性来对应对象中的键名即可填入数据 用label属性来定义表格的列名 可以使用width属性来定义列宽 相当
  • Qt 多项目系统中如何指定各项目的编译顺序 (***笔记)

    QT学习笔记 QT多项目系统中如何指定各项目的编译顺序 Qt pri 创建使用 pri文件 Qt pro文件 pri文件的写法 Qt 多项目系统中如何指定各项目的编译顺序 笔记 https blog csdn net ken2232 art
  • 目标跟踪算法——KCF入门详解

    一直以来没有很想写这个 以为这个东西比较简单 还算是比较容易理解的一个算法 但是在知乎上回答过一个问题之后就有朋友私信我一些关于细节的东西 我一直以为关于细节的东西大家可以自己去理解 大家都是想快速了解这个 那我就厚脸皮了在这写一下自己的见
  • 场景二:Git远程版本库的基本用法

    1 克隆远程版本库 如果你已经在Gitee或者GitHub等网站上创建了Git版本库 可以通过git clone命令 将版本库克隆到本地完成本地版本库的初始化 git clone命令的用法如下 git clone https DOMAIN