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

如何选择版本控制系统之三---代码托管操作

往期文章:

《如何选择版本控制系统 ---为什么选择Git版本控制系统》

《如何选择版本控制系统之二---Git的研发应用场景》

跨地域开发的需求其实由来已久,并在IT/互联网高速发展的今天越来越普遍,这正是Git版本管理广泛流程的技术原因之一。对于一个开发者如何将本地代码提交到中央仓库,是保证高效异地协同的前提。本文将着重介绍将本地代码提交到托管平台的基本操作。

客户端工具:SourceTree

托管平台:华为软件开发云

如何将本体代码提交到托管平台

1.本地git工具安装&环境配置

a)如果没有安装git客户端,请到https://git-scm.com/downloads下载最新版本

安装完成,运行Git Bash,在弹出终端进行如下配置

b) SourceTree安装

本文下载安装版本为SourceTreeSetup-2.0.20.1.exe

2.配置ssh密钥

a)生成ssh密钥。运行Git Bash,在弹出的终端中输入下面命令。

在回车中会提示你输入一个密码,不输入一路回车即可。

b)拷贝ssh密钥到开发云页面。

PC端Git Bash执行命令拷贝公钥

开发云端粘贴公钥

c) SourceTree私钥配置

3.新建开发云代码仓库

4.PC端拉取开发云仓库代码

(此时仓库里面只有一个初始文件README.md)

在本地想要下载代码的文件夹中空白处右键,选择“Git Clone…”

5.提交本地代码到本地仓库

a)修改代码后提交到暂存区

点击“暂存所有”按钮,代码从本地修改区提交到暂存区

b)将暂存区代码提交到本地仓库

添加提交信息,点击“提交”按钮,代码从暂存区提交到本地仓库

6.推送代码到远端仓库

a)推送到远端

勾选需要推送的本地分支,点击“推送”按钮

b)成功提示信息

单人使用

场景:同一个人分别在本地feature分支和master分支提交了代码,然后想将feature分支的修改merge到master分支。可是由于两个分支上的提交修改了同一行代码,所以merge产生了冲突,需要手动解决。

说明:如果没有冲突,merge自动完成。

新建feature分支

在feature分支提交代码

切换到master分支

在master分支提交代码

从feature分支向master分支合并

冲突提示

本地编辑手动解决冲突

解决后(保留master的修改方法)

合并结果推送到软件开发云平台

多人使用

场景:多人协同,小A打算向开发云托管平台master分支推送本地仓库代码,这时发现远端master分支已经有了小B的新提交,小A需要把远端小B的代码先拉取到本地。可是由于小A和小B修改了同一处代码,发生了冲突。

说明:如果没有冲突,merge自动完成。

托管平台小B提交

小A修改代码提交到本地仓库

小A同步远端仓库

产生冲突

解决冲突

提交合并内容

推送合并内容到远端仓库

远端仓库提交记录

转载于:https://www.cnblogs.com/goldenfish/p/6991431.html

相关文章:

  • UVA 11324 The Largest Clique(强连通分量+缩点DAG的DP)
  • 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列
  • Java - byte[] 和 String互相转换
  • 1.5在linux下新增大于2T的硬盘在linux下挂载操作
  • Mybatis在oracle批量更新
  • visual studio for mac在线安装网络错误
  • Angular--ui-router的使用
  • Linux 软件安装
  • 文本样式
  • 第11章 服务管理
  • SQL Server 锁实验(INSERT加锁探究)
  • OpenCV探索之路(十四):绘制点、直线、几何图形
  • 27部优秀的黑客纪录片
  • Tomcat指定JDK路径(Linux+Windows)
  • MVC和普通三层架构的区别
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 《Java编程思想》读书笔记-对象导论
  • Angular 响应式表单之下拉框
  • httpie使用详解
  • JavaScript对象详解
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mongodb--安装和初步使用教程
  • node.js
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Node项目之评分系统(二)- 数据库设计
  • PAT A1092
  • PermissionScope Swift4 兼容问题
  • Service Worker
  • Zepto.js源码学习之二
  • 程序员最讨厌的9句话,你可有补充?
  • scrapy中间件源码分析及常用中间件大全
  • ​Linux·i2c驱动架构​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #13 yum、编译安装与sed命令的使用
  • #LLM入门|Prompt#3.3_存储_Memory
  • $refs 、$nextTic、动态组件、name的使用
  • (arch)linux 转换文件编码格式
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (力扣)1314.矩阵区域和
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET 8.0 发布到 IIS
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET学习全景图
  • ::前边啥也没有
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [android] 请求码和结果码的作用
  • [C++核心编程](四):类和对象——封装
  • [C++进阶篇]STL中vector的使用
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [echarts] y轴不显示0
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误