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

【计算机基础】Git系列3:常用操作

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录

  • 一、从clone到push
    • 步骤1
    • 步骤2
    • 步骤3
  • 二、合并分支
    • 步骤1
    • 步骤2
    • 步骤3
    • 步骤4
  • 三、clone指定分支


在这里插入图片描述

一、从clone到push

步骤1

1、选择一个主干,以此为模板,新建一个分支,并对它取个名字,例如命名为“qq”。分支的项目就是主干的“复刻”或是“副本”,不能说有点差别,简直是完全一样。这步操作的目的是保留主干的原始性,所有修改的内容均在分支中进行。
在这里插入图片描述
在这里插入图片描述

步骤2

2、clone新建好的分支到本地空间(此处另说),后续的修改可以直接在这里面进行,因为git上面没有IDE和编译器,我们无法更改内容,因此需要git clone到本地,改好后再上传到git仓库。
在这里插入图片描述

步骤3

3、修改demo,并上传,具体步骤如下:
a.不管是git bash还是文件本身,都要先进入new_project这个项目中。
b.一开始显示的main主干,使用命令git checkout qq需要切换到“qq”分支。
c.修改new_project,
d.修改结束后,使用命令git add .将其修改内容放入暂存区
e.再用git commit -m “注释”,为修改内容添加注释。
最后,git push,将修改部分上传至git仓库,也就是“qq”这个分支。
在这里插入图片描述
在这里插入图片描述

二、合并分支

git merge用于将一个分支的更改合并到当前分支。这通常用于将一个功能分支或修复分支的更改合并到主分支(如master)。例如,如果你想将feature-branch分支的更改合并到master分支,以下是使用git merge进行合并的基本步骤:

步骤1

首先,确保你已经切换到目标分支,所谓“目标分支”即要将其他分支的更改合并到的分支。

git checkout master

步骤2

步骤2、然后,运行以下命令来执行合并操作:

git merge feature-branch

步骤3

将feature-branch替换为你要合并的分支名称。Git会尝试将目标分支(如master)与指定的分支(如feature-branch)进行合并。如果合并成功,则将目标分支更新为包含了两个分支的更改的最新状态。如果存在冲突,Git将提示你解决冲突。3. 如果合并过程中发生冲突,你需要手动解决冲突。Git会在冲突文件中标记出冲突的部分,你需要根据需求修改文件内容,并在完成后使用git add命令将修改后的文件标记为已解决的冲突。

git add <conflicted-file>

步骤4

步骤4、一旦你解决了所有冲突,并将修改后的文件标记为已解决的冲突,运行以下命令继续合并过程:

git commit -m “注释”

这将创建一个新的提交以完成合并操作。Git会自动生成一个合并提交消息,你可以根据需要进行编辑。
执行以上步骤后,合并就完成了。目标分支现在包含了来自其他分支的更改。
需要注意的是,使用git merge进行合并不会删除源分支。如果你想删除源分支,可以使用git branch -d命令,具体请参考之前提到的删除分支的方法。

三、clone指定分支

默认情况下,使用git clone命令克隆代码库时,将获取代码库的主干(通常是master分支)的最新版本。
如果要克隆特定分支的代码,可以使用-b选项指定要克隆的分支。例如,要克隆名为develop的分支,可以运行以下命令:

git clone -b develop <repository_url>

这将克隆指定分支的代码到本地。你可以根据需要替换<repository_url>为实际的代码库 URL。
请注意,只克隆指定分支的代码并不会包含其他分支的历史记录。如果您需要克隆多个分支或完整的仓库历史记录,可以在克隆后使用git checkout命令来切换到其他分支。例如:

git checkout <branch_name>

通过切换分支,您可以获取指定分支的完整历史记录和文件。
如果您想查看已经克隆的代码库中的所有分支,可以使用以下命令:

git branch -a

这将列出本地和远程代码库中存在的所有分支,可以查看它们的状态并切换到感兴趣的分支。

http://www.lryc.cn/news/186909.html

相关文章:

  • 有哪些值得推荐的Java 练手项目?
  • 【Godot】时间线(技能)节点
  • 每日练习-9
  • 微信小程序 -- 页面间通信
  • 关于Jupyter markdown的使用
  • 【C语言】字符函数和内存操作函数
  • SpringBoot大文件上传实现分片、断点续传
  • React 注意事项
  • 常见排序算法Java版(待续)
  • Jmeter 多实例压测
  • 线程安全问题 --- 内存可见性问题
  • 消息队列 Kafka
  • 抽象轻松的java-mybatis简单入门
  • 012-第二代硬件选型
  • Spring中的设计模式
  • 软考 系统架构设计师系列知识点之软件质量属性(1)
  • GPT系列论文解读:GPT-1
  • 数学分析:含参变量的积分
  • 关于一篇ElementUI之CUD+表单验证
  • VUE模板编译的实现原理
  • 基础算法之——【动态规划之路径问题】1
  • 三十三、【进阶】索引的分类
  • VBox启动失败、Genymotion启动失败、Vagrant迁移
  • 一篇短小精悍的文章让你彻底明白KMP算法中next数组的原理
  • CSS盒子定位的扩张
  • SpringBoot整合POI实现Excel文件读写操作
  • 从零开始的力扣刷题记录-第八十七天
  • 【1】c++设计模式——>UML类图的画法
  • SAP UI5 指定 / 变更版本
  • SpringMVC中异常处理详解