文档章节

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

 透明的鱼
发布于 2017/06/12 09:54
字数 879
阅读 4
收藏 0
点赞 0
评论 0

往期文章:

如何选择版本控制系统 ---为什么选择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同步远端仓库

产生冲突

解决冲突

提交合并内容

推送合并内容到远端仓库

远端仓库提交记录

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 60
码字总数 89417
作品 0
git客户端连接git@OSCHINA最新教程

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。它是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 对于喜欢在业余...

码上中国博客 ⋅ 2015/07/31 ⋅ 0

搞笑视频:结对编程实践指导

BitBucket公司经营着一个私人代码托管服务系统,也就是一个分布式版本控制系统,BitBucket公司为了培训大家如何更好的使用分布式版本控制系统,他们特意制作了视频教程,来讲解如何从分布式版...

oschina ⋅ 2013/05/24 ⋅ 30

Windows平台使用TortoiseGit+MSysGit同步项目到Github

Windows平台使用TortoiseGit+MSysGit同步项目到Github 简介Git: Git是一个开源的分布式版本控制系统,用以项目版本管理。与常用的 CVS, SVN等工具不同,它采用了分布式版本库的方式,不必服...

mysky221 ⋅ 2014/11/02 ⋅ 0

分布式版本控制系统入门

在过去几年,对于分布式版本控制可以给开发过程提供的益处有许多争论。最近,分布式工具已经很成熟了。尽管分布式工具的一些优点最初可能不明显,但是从长 期来看,它们提供的灵活性是非常有...

红薯 ⋅ 2009/05/26 ⋅ 2

Git 学习记录--- Git 基本介绍、获取git仓库方法、创建分支

一. Git基本介绍 1.1 什么是Git? Git是一个版本控制系统(Version Control System) 1.2 什么是“版本控制系统”? 记录下所有文件的所有版本,可以有效地追踪文件的变化。当代码出错的时候...

薄暮凉年 ⋅ 2015/12/23 ⋅ 0

TortoiseGit on 华为云DevCloud

1文档目的 本文档主要帮助习惯使用图形化工具提交代码的开发者,如何更好的应用TortoiseGit,以及更好的将TortoiseGit与Devcloud结合应用。 对于版本管理系统的介绍和git bash的安装使用,请...

程序员的那点事 ⋅ 05/17 ⋅ 0

在Windows环境中使用版本管理工具Git(2)

二、在Windows上的使用Git 不得不说,Git是为Linux而生的。(废话,Git的最初创建人就是Linux的创始人啊)。在Linux环境下,要使用Git,与任何Linux中的命令行工具没有什么区别。甚至在击键数...

云栖希望。 ⋅ 2017/12/04 ⋅ 0

Bazaar 已成为过去,Emacs 需要作出改变

昨天 ,开源促进组织联合创始人 Eric S. Raymond 从一封邮件中宣称,Bazaar 已成为过去,呼吁 EMACS 需要放弃 Bazaar 而转用 Git,为了让更多的贡献者参与进来,他认为,Git 已经在分布式代码...

oschina ⋅ 2014/01/03 ⋅ 35

关于git和github用法

折腾了下用SVN到git和github的转移过程,git是OSChina分布式版本控制系统 ,github是https://github.com/托管库,正当我从收费的SVN(http://code.svnspot.com)转移到github时,奶奶的官方真...

造化玉碟 ⋅ 2014/08/25 ⋅ 0

CVS, subversion, hg, git 版本控制系统的选择之路

CVS, subversion, hg, git 版本控制系统的选择之路 subversion, hg, git 对于软件开发者或者往大了说,有知识管理或者数据管理需要的数码人 <[if gte vml 1]> ,是否使用版本控制系统,肯定已...

openexpress1 ⋅ 2010/07/02 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 28分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 今天 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

mysql的分区和分表

1,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一...

梦梦阁 ⋅ 今天 ⋅ 0

exception.ZuulException: Forwarding error

错误日志 com.netflix.zuul.exception.ZuulException: Forwarding error Caused by: com.netflix.hystrix.exception.HystrixRuntimeException: xxx timed-out and no fallback available. Ca......

jack_peng ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部