Git入门 本地仓库 远端仓库 多分支

news2024/11/20 2:21:46

Git入门

  • Git入门
    • 本地git初始化
      • git仓库初始化
    • 创建远端仓库
      • github
      • gitee
    • 指定远端仓库
    • 推送至远端
    • 多分支
      • 将feature分支合并至dev分支
    • 其他开发者

Git入门

本地git初始化

git仓库初始化

在这里插入图片描述

mkdir myrepo	# 创建仓库文件夹
cd myrepo/		# 进入目录
git init		# 初始化git仓库 (创建.git文件夹)
git branch -a	# 查看分支 (此时无分支)
touch README.md	# 创建一个文件
git add .		# 将所有文件添加到暂存区
git commit -m "init"	# commit一下
git branch		# 此时查看分支, 默认为master分支

创建远端仓库

github

在这里插入图片描述

gitee

在这里插入图片描述

此处我创建了两个远端仓库, 方便后面演示(工作中基本都是1个)

指定远端仓库

注意配置ssh公钥, 自行搜索

github ssh: git@github.com:dengwangtao/git_demo.git

gitee ssh: git@gitee.com:TAOTAO_D/git_demo.git

在这里插入图片描述

# git remote add [起个名, 一般都叫origin] [remote 地址]
git remote add origin git@github.com:dengwangtao/git_demo.git

推送至远端

在这里插入图片描述

git push origin master:master
# 将master分支推送到origin的master分支(github)

在这里插入图片描述

可以看到, 只有github的仓库被推送了


then, 推送到gitee

在这里插入图片描述

git push origin2 master:master
# 将master分支推送到origin2的master分支 (gitee)

查看远端仓库

在这里插入图片描述

多分支

在这里插入图片描述

# 创建了两个分支 dev 和 feature
git branch dev
git checkout -b feature   # 创建分支并切换到新分支

在这里插入图片描述

在feature分支中创建一个main.cpp文件, 并推送到github

在这里插入图片描述

查看git log

在这里插入图片描述

将feature分支合并至dev分支

在这里插入图片描述

git checkout dev

git merge feature

git push origin dev:dev

只将dev分支推送到gitee

在这里插入图片描述

其他开发者

在这里插入图片描述

# 克隆仓库, 并放在myrepo2文件夹
git clone git@github.com:dengwangtao/git_demo.git myrepo2

查看分支

在这里插入图片描述

有多个远程仓库, 假设目前的需求: 更新dev分支的main.cpp, 输出"Hello Git"

  • 创建 feature_main 分支
  • 修改main.cpp, 验证并测试
  • 合并到dev分支
  • 推送 (解决冲突)

在这里插入图片描述

此处基于远端的dev分支创建了feature_main分支, 并更新了main.cpp的代码

并提交到本地, 注意, 此时还没有推送到远端

为了演示解决冲突, 手动在github上修改代码

// 修改前
#include <iostream>

int main() {
	std::cout << "Hello World" << std::endl;
	return 0;
}

// 修改后
#include <iostream>

int main() {
	std::cout << "This is https://github.com/dengwangtao/git_demo/edit/dev/main.cpp" << std::endl;
	return 0;
}

然后, 此时提交代码前, 需要pull (fetch + merge)

在这里插入图片描述

合并分支, 发生冲突

在这里插入图片描述

查看main.cpp

在这里插入图片描述

解决冲突

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1887508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BMA456 运动传感器

型号简介 BMA456是博世&#xff08;bosch-sensortec&#xff09;的一款超小型、三轴、低重力高性能加速度传感器&#xff0c;配备数字接口。该传感器适用于低功耗且要求严格的消费电子应用。它可以检测手腕倾斜、按压/双击&#xff0c;并支持即插即用计步功能&#xff0c;尤其适…

让新质生产力照进现实,智慧数据基础设施需要软硬兼施

数智化时代&#xff0c;什么才是企业与组织最大的差异化竞争力&#xff1f; 答案无疑是&#xff1a;数据。在生成式AI技术日新月异之际&#xff0c;发展新质生产力已成为产业共识&#xff0c;越来越多的企业意识到&#xff1a;数据乃一切运作的基础&#xff0c;是企业拥抱AI浪…

【信息系统项目管理师】18年~23年案例概念型知识

文章目录 18上18下19上19下20上20下21上21下22年上22年下23年上 18上 请简述 ISO 9000 质量管理的原则 领导作用、 过程方法、 管理的系统方法、 与供方互利的关系、 基于事实的决策方法、 持续改进、 全员参与、 以顾客为关注焦点 概念 国家标准(GB/T 1 9000 2008)对质量的定…

Thinking--Promise解决动态挂载静态资源重复问题

Thinking系列&#xff0c;旨在利用10分钟的时间传达一种可落地的编程思想。 #mermaid-svg-MQ0o4hbZOvkQJra0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MQ0o4hbZOvkQJra0 .error-icon{fill:#552222;}#mermaid-s…

嵌入式Linux系统编程 — 6.3 kill、raise、alarm、pause函数向进程发送信号

目录 1 kill函数 1.1 kill函数介绍 1.2 示例程序 2 raise函数 2.1 raise函数介绍 2.2 示例程序 3 alarm函数 3.1 alarm函数介绍 3.2 示例程序 4 pause函数 4.1 pause函数介绍 4.2 示例程序 与 kill 命令相类似&#xff0c; Linux 系统提供了 kill()系统调用&#…

仿全民飞机大战射击网页游戏源码

仿全民飞机大战设计网页游戏源码&#xff0c;画质精美的飞机大战手机端游戏源码 微信扫一扫免费下载源码

搞管理千万别犯这3大禁忌,否则活该你当不了领导,切忌!

搞管理千万别犯这3大禁忌&#xff0c;否则活该你当不了领导&#xff0c;切忌&#xff01; 禁忌一&#xff1a;不懂放权 美国总统罗斯福曾说过&#xff1a;“一个最好的管理者&#xff0c;很擅长知人善任。当下属在从事其职务时&#xff0c;管理者要懂得约束自己&#xff0c;不…

MyBatis入门案例

实施前的准备工作&#xff1a; 1.准备数据库表2.创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;mybatis、mysql驱动、lombok&#xff09;3.在application.properties文件中引入数据库连接信息4.创建对应的实体类Emp&#xff08;实体类属性采用驼峰…

一文揭秘:CRM如何助力家居建材企业可持续发展?

01、家居建材行业业务高速发展&#xff0c;对数字化转型提出越来越高诉求 家居建材行业是国民经济的重要基础产业&#xff0c;是改善人居条件、治理生态环境和发展循环经济的重要支撑。家居建材是土木工程和建筑工程中使用材料的统称&#xff0c;包括天花板、瓷砖、门、窗、锁…

VGPU的使用

&#xff08;作者&#xff1a;陈玓玏&#xff09; 开源项目&#xff0c;欢迎star哦&#xff0c;https://github.com/data-infra/cube-studio 训练AI模型以及部署模型推理服务时&#xff0c;GPU往往是必不可少的&#xff0c;但当我们机器上没有足够的GPU卡可使用时&#xf…

如何选择品牌推广公司?哪家好?收费标准及评价!

不管是什么品牌&#xff0c;推广对公司的成败起了很关键的作用。然而&#xff0c;面对市面上琳琅满目的品牌推广公司&#xff0c;如何选择一家既熟悉又靠谱的公司&#xff0c;成为许多企业主面临的难题。 作为一家手工酸奶品牌的创始人&#xff0c;目前全国也复制了100多家门店…

PyInstaller exe文件报错

文章目录 包找不到的问题去掉黑窗口 包找不到的问题 遇到的问题 : 打包好了之后exe文件报错: 没有找到这个文件 1.当时打包的 有这个文件main.spec 打开它找到hiddenimports ,填上差的包 2, 删除build和dist 3,在当前命令行下执行pyinstaller main.spec打包生成exe 去掉黑…

Polygon链的对接及使用

Polygon&#xff08;前身为Matic Network&#xff09;是一个基于以太坊的侧链&#xff0c;旨在解决以太坊网络拥堵和高昂 gas 费的问题。Polygon 使用侧链技术将交易从以太坊主网转移到自己的侧链上&#xff0c;从而提高交易速度和降低 gas 费。北京木奇移动技术有限公司&#…

DFS练习

105 从前序与中序遍历序列构造二叉树 import java.util.HashMap; import java.util.Map;class TreeNode {int val;TreeNode left;TreeNode right;public TreeNode(int val) {this.val val;} }public class Letcode105 {public TreeNode bulidTree(int[] preOrder, int[] inOrd…

【RabbitMQ实战】邮件发送(直连交换机、手动ack)

一、实现思路 二、异常情况测试现象及解决 说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认机制 、消费确认机制 、消息的重新投递 、消费幂等性, 二、实现思路 1.简略介绍163邮箱授权码的获取 2.编写发送邮件工具类 3.编写RabbitMQ配置文件 4.生产者发起调用…

linux内核驱动第一课(基于RK3568)

学习Linux驱动需要以下基础知识&#xff1a; C语言编程&#xff1a;掌握C语言是开发Linux驱动程序的基本要求。操作系统原理&#xff1a;了解操作系统的基本概念和原理&#xff0c;如进程管理、内存管理、中断处理等。Linux内核&#xff1a;熟悉Linux内核的结构和工作机制&…

DreamTech联合南大和牛津发布最强3D内容生成大模型——Direct3D

文章链接&#xff1a;https://arxiv.org/pdf/2405.14832 github链接&#xff1a;https://nju-3dv.github.io/projects/Direct3D/ 从文本和图像生成高质量的3D资产一直是一项挑战&#xff0c;主要是由于缺乏能够捕捉复杂几何分布的可扩展3D表示。在这项工作中&#xff0c;介绍…

力扣61. 旋转链表(java)

思路&#xff1a;用快慢指针找到最后链表k个需要移动的节点&#xff0c;然后中间断开节点&#xff0c;原尾节点连接原头节点&#xff0c;返回新的节点即可&#xff1b; 但因为k可能比节点数大&#xff0c;所以需要先统计节点个数&#xff0c;再取模&#xff0c;看看k到底需要移…

网络爬虫基础知识

文章目录 网络爬虫基础知识爬虫的定义爬虫的工作流程常用技术和工具爬虫的应用1. 抓取天气信息2. 抓取新闻标题3. 抓取股票价格4. 抓取商品价格5. 抓取博客文章标题 网络爬虫基础知识 爬虫的定义 网络爬虫&#xff08;Web Crawler 或 Spider&#xff09;是一种自动化程序&…

gitee项目上不同的项目分别使用不用的用户上传

最近使用根据需要&#xff0c;希望不同的项目使用不同的用户上传&#xff0c;让不同的仓库展示不同的用户名&#xff01;&#xff01;&#xff01; 第一步查看全局的用户信息&#xff1a; # 查看目前全局git配置信息 git config -l #会输出全局的git配置信息 第二步进入到要设…