目前大家的工作和学习中git应该是必不可少的吧,现在好多公司都是在使用git来管理代码,比起以前的svn管理代码简洁清晰了很多,而且也减少了冲突的出现,最主要的git是分布式的,即使没有网络也一样可以Commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端;而svn要是没有网络的话,那就只能干瞪眼了。

本篇主要分享使用visual studio2019 工具使用git来管理github上的项目代码,进行创建分支、更新代码、修改文件、提交代码、创建拉取请求合并到主分支等等操作,相当于一个需求从开发到完成合并到主版本的过程。

一、准备工作

1、git下载安装

2、visual studio2019下载安装

下载安装的过程我这里就不演示了,傻瓜式安装直接点下一步就可以了,我把我这边的安装包放到我的百度网盘中,有需要的读者可以自行下载,或者自己去下载最新版也可以。(后台回复vs2019获取安装包)

二、git配置

工具--》选项--》源代码管理器--》选择使用git

然后进行git全局配置,配置用户名和电子邮件,这是在提交代码后会显示代码提交人的信息,当然默认位置也可以根据自身情况修改。(这个默认位置是创建本地git仓库的默认位置)

三、项目准备

在github上新建一个仓库用于演示,我这里已经有一个项目在github上,就直接使用该项目进行演示。其次还有一个问题就是github上下载项目实在是太慢了,第一次克隆的时候卡死了也下不下来,无奈只好讲github的项目迁移到码云上(gitee),然后从码云上克隆仓库很快就下载好了。

登录码云,选择从github/gitlab导入仓库,然后将github上复制的仓库地址填上,点击导入即可完成迁移。

四、克隆项目,创建本地仓库

选择 文件-》克隆存储库

填入码云上复制的仓库地址,然后选择好本地仓库路径,点克隆

等待克隆仓库结束,用码云的话很快,用github的话如同龟速一般。。

克隆结束后如下所示,如果没有自动显示的话,可以自己手动调出来,解决方案资源管理器就是项目目录文件;git更改就是显示你修改过的文件,包括新增、删除等。

五、新建分支、更新、修改、提交、推送 代码

这里其实就对应着一个需求的开发过程,在将主分支代码克隆下来以后,假设每一个新需求对应一个新分支,当一个需求分配给你以后,你要基于最新的主版本新建一个分支供自己开发使用,开发需求时向自己的分支上提交代码,需求开发完毕后,提拉取请求将自己分支的代码合并到主分支,任务开发完毕。

(1)新建分支,如下操作(选择好基于哪个分支新拉分支,然后给新分支起一个名字,我这里是relase-001):

创建好新分支以后,将代码迁出到新分支上,如下操作(同样可以在这直接切换分支):

(2)更新代码

每次提交代码前,最好都拉取一下最新的代码,然后推送到自己的分支上,保证自己的分支与主版本分支的代码一致,这样可以有效减少在向主版本合并代码的时候出现冲突的情况。拉取代码如下图所示(选到git更改页面,上边有拉取按钮):

上图中需要注意的是,有个提取按钮还有个拉取按钮,两者之间的区别就是拉取会自动合并代码,提取不会自动合并代码,再具体的我就不细说了,直接放上官方的答复(其中拉取命令就是git pull,提取命令就是git fetch),想使用哪个命令的话就看个人喜好了,反正目的就是保证自己的分支是最新的代码就好了。

最好不要用git pull,用git fetch和git merge代替它。git pull的问题是它把过程的细节都隐藏了起来,以至于你不用去了解git中各种类型分支的区别和使用方法。当然,多数时候这是没问题的,但一旦代码有问题,你很难找到出错的地方。看起来git pull的用法会使你吃惊,简单看一下git的使用文档应该就能说服你。将下载(fetch)和合并(merge)放到一个命令里的另外一个弊端是,你的本地工作目录在未经确认的情况下就会被远程分支更新。当然,除非你关闭所有的安全选项,否则git pull在你本地工作目录还不至于造成不可挽回的损失,但很多时候我们宁愿做的慢一些,也不愿意返工重来。

(3) 修改文件

这里我就直接打开一个文件进行修改,添加一段注释,ctrl+s保存以后我们可以到“git更改”页面,看到修改过的这个文件已经在这显示了。

然后可以在文件上右键查看差异,就是你修改过的东西。同样可以撤销更改,查看历史,暂存等等。

还有一个比较重要的功能就是存储,可能一个文件你做了很多修改,但临时有其他改动要调整这个文件先升到环境上,你可以先将其修改存储起来,待其他调整完毕以后,再将其弹出释放,回到你原来的修改状态。

(4)提交修改

当我们需求开发到一定阶段后,我们就要将我们本地的代码提交到我们本地仓库和远程仓库中,在提交时我们可能修改了很多文件,但是只需要提交一部分文件,这时候我们可将文件右键添加到暂存区,提交时可以只提交暂存区的文件。(推送到远程仓库时,若远程无此分支会自动创建此分支,所以我们在本地创建relase-001分支后,推送到远程会自动创建relase-001分支)

选择提交临时数据将变更提交至本地仓库,选择提交临时数据并推送将变更提交至本地仓库并且推送至远程分支上。

输入gitee的用户名密码后即可推送至远程分支。

也可查看提交记录及输出日志。

六、创建拉取请求,合并到主分支

当我们在我们自己的分支上开发完需求自测完毕以后,就需要将我们分支上的代码合并到主分支上,这时需要创建拉取请求,并设置不同的策略来合并代码。我这里的策略是需要一次代码审查和测试,当审查和测试都通过以后,才会同意拉取请求合并到主分支。(下图可以看到远程仓库里已经新建了此分支并且有我刚才提交的记录)

(1)创建拉取请求

点击以下界面然后点击新建拉取请求

选择源分支和目标分支(即从哪个分支向哪个分支合并),填写一些必要的说明,然后可以自行选择一些其他策略,如合并后删除源分支等等,然后点击创建,即可发起一个新的拉取请求。

下方可以看到此次拉取请求的提交记录和文件改动情况,确认无误后点击创建

(2) 审查合并

当你发起拉取请求以后,你的领导会看到此条请求,然后会审阅你的代码,等他审阅通过后,如果没问题就会同意你的拉取请求然后合并到主分支,如果发现有问题的话,可以在问题代码附近评论,待你修改完毕后再合并。当然我这里演示的话,领导就是我自己了,审查测试都是我自己来。当审查、测试都通过以后,并且与主分支没有冲突就可以将代码合并了,如下所示(由于我勾选了合并后删除源分支,所以合并后relase-001的分支已经删除了):

(3)需求完毕

待你的代码合并到主分支以后,也意味着你的这个需求任务已经开发完毕了,接下来可能会进入测试阶段等等,测试出bug的话,可能还需新拉bug分支再修改,然后再提交,具体的流程规范有自己的项目组制定。

七、总结

本文中主要使用VS2019来操作github上的项目,如代码提交合并等等,也相应的介绍了一个需求从开发到结束的过程。当然可能一些老程序员的话不喜欢这些工具,反而更喜欢直接使用git命令去直接操作,当然那样更简洁也不用多余的工具,不过那些乱七八糟的git命令对于新手的话不太友好,所以这篇文章也是让不太熟悉git的人对它有个简单的认识并且可以操作使用。

github 码云 获取_开发记录篇使用VS2019管理github项目相关推荐

  1. github 码云 获取_开源中国码云,岂止于中国版GitHub!

    [引言]2008年4月,三位美国开发者创办了后来风靡全球的GitHub,成为开源技术发展的一座里程碑.5年之后,中国最大的开源技术社区开源中国社区上线"码云"平台代码托管服务--G ...

  2. 前端radio单选框默认选中_开发记录篇前端内容1

    有段时间没有更新文章了,因为是用的公司电脑,没有虚拟机,所以就没法演示hadoop相关的东西了,而且大数据篇的东西需要花费一些时间和精力去收集整理内容,那大数据篇就先暂停一下.最近这段时间的话我可能会 ...

  3. Git的安装及Github/码云的注册过程

    码云与Github 身为程序员,需要保护自己的代码,所以要将自己代码托管给服务器穿上保护的外衣. Github是国外常用的代码托管,国内用起来不是很方便,因此有了码云.码云在国内使用十分便捷快速,十分 ...

  4. 跟着王进老师学开发Python篇第三季:Tkinter GUI项目实战篇-王进-专题视频课程

    跟着王进老师学开发Python篇第三季:Tkinter GUI项目实战篇-465人已学习 课程介绍         本季课程为Tkinter GUI项目实战:学生信息管理系统, 内容包含:项目总体介绍 ...

  5. eclipse 提交git失败_简单10步教你使用eclipse整合gitee码云实现共享开发

    1.在开源中国社区注册账号,并创建对应的项目仓库 创建gitee个人仓库,填写相关的项目信息以及默认属性 填写完成后点击提交会出现以下初始化效果 这是项目的初始仓库,在下载.克隆按钮下有相关的git地 ...

  6. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...

  7. as上的git到码云操作_如何使用git从码云克隆项目到本地?

    https://www.cnblogs.com/gbb123/p/6784822.html 前段时间,有读者微信问我,如果使用Git从码云或者Github 克隆代码到本地,然后进行提交代码的操作 .可 ...

  8. as上的git到码云操作_高校版News||码云联合实训邦发布软件工程在线实训教程

    前情摘要:目前市场上对于软件工程专业的人才需求剧增,各大高校计算机/软件专业的教师也在为如何更高效得培养出更多精专选手而不断创新教育模式.码云作为云端软件协作的领跑者,于2018年6月推出高校版,旨在 ...

  9. 如何在码云获取token呢?

    准备工作 跟 GitHub 一样,码云(gitee)是一个代码存储.共享平台(为描述方便,后文统称为 gitee ),这里要使用它们的服务进行图片存储,则首先都需要创建一个账号,如果你没有码云账号,点 ...

最新文章

  1. HDU - 5514 Frogs(容斥原理)
  2. [Serializable]在C#中的作用——实现.NET对象序列化
  3. keras中的EarlyStopping
  4. 关闭SqlConnection的方法
  5. Ubuntu安装jdk8
  6. 波束形成MATLAB代码
  7. Retrofit使用教程(一)- Retrofit入门详解
  8. Python Network(二)绘图draw系列draw(),draw_networkx(),draw_networkx_nodes(),draw_networkx_edges()
  9. emule中节点加入Kad网络过程(源代码详解)
  10. nodeJS打包安装和问题处理
  11. android2.2智能手机,Jelly 2:全球最小的Android 10 4G智能手机
  12. Log4j2维护者吐槽没工资还要挨骂!!!
  13. IBM创磁带存储新纪录
  14. 小资金超短线如何实现快速翻倍?
  15. 图机器学习-图神经网络
  16. 性能分析与问题排查:工具:三件套:HeapHero
  17. jsp java 上传图片_如何在Jsp上传图片
  18. 将钉钉应用内浮窗_DingTalk,钉消息
  19. C#汉字转换拼音技术详解
  20. Altium Designer 手机设计之PCB布局 - 系列三

热门文章

  1. 【Linux】Linux 守护进程的启动方法
  2. 60-10-015-集成-(kylin On Druid)-Build CUBE的时候每一步都做了什么
  3. Spark Structured SQL : NumberFormatException: Zero length BigInteger
  4. 79-Spark Standalone架构设计要点分析
  5. Spring boot:注解@SpringBootApplication
  6. java builder pattern_Java Builder Pattern建造者模式详解及实例
  7. Docker 简易搭建 ElasticSearch 集群教程
  8. 为什么代码规范要求SQL语句不要过多的join?
  9. Spring中IoC两种接口和两种依赖注入方式的比较
  10. MySQL5.5安装版安装教程