VS2017 Git操作教程

VS2017 Git操作教程

前言

Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

那什么是分布式版本控制系统?

Git是分布式的,这意味着它并不依赖于中心服务器来保存你文件的旧版本。任何一台机器都可以有一个本地版本的控制系统,其实就是一个硬盘上的文件,我们称之为仓库(repository)。如果是多人协作的话,你还需要一个线上仓库,用来同步代码等信息。Git可以用来跟踪、记录文件的变动,经常用于开源代码。比如你可以进行旧版本恢复、比对、分析、合并等等。这个过程被称之为版本控制。

可见,Git是在多人协作的大型项目中非常有用的工具。本教程主要介绍Git在VS2017中使用。

教程的主要工作流程为:克隆/连接远程项目作为本地仓库—>创建本地分支—>修改代码—>提交项目—>同步本地代码到服务器代码—>拉取请求—>同步服务器最新代码到本地master分支—>本地自己分支与maste分支的合并。
下面为该工作流程中每一步的具体步骤和详细说明。(教程中VS与服务器默认已经建立了连接,该过程不再进行说明)

克隆/连接
克隆用于复制远程仓库代码到本地仓库。
连接作用与克隆相似,只是不需再进行拷贝,可以直接连接本地仓库。
Step1 : 建立本地仓库
建立空文件夹作为本地仓库。
在这里插入图片描述
Step2 : 管理连接
打开VS2017,点击【团队】下【管理连接】。
在这里插入图片描述
进入 “连接”界面,点击“连接到团队项目”。
在这里插入图片描述
Step3 : 克隆
选择服务器上对应的团队项目,这里选择项目【Train2019】。注意更改本地克隆目标位置为step1创建的仓库的路径,点击【克隆】。因step1第一次创建空文件夹作为仓库,此时VS并没有检测到git仓库的相关配置文件,故需要克隆项目。

在这里插入图片描述
克隆成功。
在这里插入图片描述

Step4 : 连接
可以看到此时本地仓库文件夹除了项目文件和文件夹外,还多出了git配置相关的文件。当再次进行管理链接时,VS会自动检测出这些配置文件,可判断文件夹下已经克隆过项目,从而会直接连接本地仓库项目,而不会克隆服务器项目。
在这里插入图片描述
点击【管理连接】,进入【连接】界面。
在这里插入图片描述
点击【管理连接】下的【连接到团队项目】。
在这里插入图片描述
当再次选择克隆目标位置“D:\CG\2019_TrainCode”时,原来的【克隆】按钮变成了【连接】。
在这里插入图片描述
Step5 : 打开仓库项目
点击VS中的【文件】,选择【打开】中的【项目/解决方案】。
在这里插入图片描述
选择仓库路径,打开“解决方案”。
在这里插入图片描述

创建本地分支
本地master分支主要用以更新服务器最新代码,所以原则上是不允许直接修改的。每个团队成员需要创建自己的本地分支,用于修改属于自己负责的代码。
Step1 : 创建分支
点击【主页】中的【分支】进入 “分支”页面。
在这里插入图片描述
可以看到此时本地仓库只显示一个本地master分支。

在这里插入图片描述
点击【新建分支】。
在这里插入图片描述
输入分支名,点击【创建分支】。
在这里插入图片描述
在本地仓库2019_TrainCode出现刚刚创建的分支cgui。
在这里插入图片描述
Step2:转到Master同步
Step3:转回自己分支合并

修改代码
Step1 : 切换到自己分支
原则上master分支是不可修改的,如果此时处于master分支,需要切换到自己的分支才可以进行修改代码。双击对应的分支,此处cgui加粗表明此时处于cgui分支。
在这里插入图片描述
Step2 : 新建XX.cpp和XX.h文件
这里我新建了222_cgui.h 和 222_cgui.cpp两个文件,可以发现新建文件前面有“+”的标号,表明该文件是刚建立的。
在这里插入图片描述
在这里插入图片描述
Step3 : 修改文件
这里我对221_caigui.cpp 做了修改,可以发现该文件前面的标号由 “锁头”状态变成“打钩”状态,表明该文件已被修改过。同理,项目前面的标号也发生改变。
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述在这里插入图片描述
Step4 : 撤销更改
右键修改过的文件,选择【撤销(U)】便可撤销更改。
在这里插入图片描述
可以发现撤销后221_caigui.cpp前面标号由“打钩”状态变成“锁头”状态,表明撤销成功。
在这里插入图片描述
提交项目
Step1 : 重新编译项目
VS编译器规定,新建XX.cpp注意添加头文件“pch.h”否则会报错。
在这里插入图片描述
Step2 : 提交项目
编译成功后便可右键 【解决方案】选择 【提交(I)】进行提交。
在这里插入图片描述
填写提交信息,点击【全部提交】。同时可看到下面的更改记录。注意此时只是创建提交的副本,并未真正提交到服务器上。
在这里插入图片描述
同步本地分支到源代码服务器(本地->远程)
同步本地分支代码到远程自己的分支。
Step1 : 进入“同步”页面
点击【同步】进入同步界面。
在这里插入图片描述
或者点击【主页】中的【同步】进入同步界面。
在这里插入图片描述

Step2 : 同步
点击【同步】。注意同步的作用只是同步本地自己的分支代码到远程自己的分支,此时远程master分支并未发生改变。
在这里插入图片描述
同步成功。
在这里插入图片描述
拉取请求
创建拉取请求的作用是请求审阅者批准,进批准后可将远程自己的分支合并到远程的master分支。

Step1 : 新建拉取请求
点击【主页】中的【新建拉取请求】,进入 “拉取请求”页面。
在这里插入图片描述
点击【新建拉取请求】。此步骤只是进入服务器网址的“拉取请求”页面,还未真正创建请求。
在这里插入图片描述
Step2 : 账号密码
进入服务器网址前需要填写本机用户名和密码。
在这里插入图片描述
Step3 : 创建请求
此时进入服务器网址的“拉取请求”页面,点击【创建】以创建请求。
在这里插入图片描述
Step4 : 对比修改记录
绿色背景是修改过的记录。
在这里插入图片描述
Step5 : 批准
可以看到 “Train2019团队”将作为审阅者,默认创建请求者也会作为审阅者之一。点击“批准”。
在这里插入图片描述
此时可看到审阅者“yf13”和“Tran2019”团队已批准请求。
在这里插入图片描述
Step6 : 完成拉取请求
点击【完成合并】即可最终完成拉取请求。
在这里插入图片描述
此时可看到服务器上的master分支状态已更新。
在这里插入图片描述

==同步本地master为服务器最新代码 ==
Step1 : 切换到master分支
双击master分支进行切换。

在这里插入图片描述
Step2 : 同步
切换到主页,点击【同步】进入同步页面。
在这里插入图片描述
再次点击【同步】即可同步服务器最新代码到本地master分支。
在这里插入图片描述
同步成功。
在这里插入图片描述
或者点击【拉取】拉取服务器最新版代码。
在这里插入图片描述
提示存储库已最新。
在这里插入图片描述
将本地自己的分支与本地master分支合并
上一步骤只是将服务器上最新代码同步到本地master分支,本地自己的分支并未发生改变,而我们一般是在自己分支上做修改,所以需要自己的分支也保持最新状态。而且每次修改代码之前都需要执行上一步骤和当前步骤。

Step1 : 切换到自己的分支
双击自己的分支进行切换。
在这里插入图片描述
Step2 : 合并
点击 【合并】。
在这里插入图片描述
将本地master分支代码合并到自己的分支代码,点击【合并】。
在这里插入图片描述
更新成功。
在这里插入图片描述

2019.04.29:加入如何将文件强制进入git仓库部分。
将文件强制进入git仓库:
1. 启动Git CMD
从开始菜单,打开Git CMD。
在这里插入图片描述
2. 进入到需要添加的文件目录
在这里插入图片描述
3. 输入命令git add . –f即可添加这个目录下的文件,进入到当前的git仓库
在这里插入图片描述
命令说明:
git add :表示加入git文件。
. :表示当前文件。
-f :表示文件强制加入。
4. 按照之前的步骤,提交文件即可
在这里插入图片描述

通过以上步骤,即可将文件强制加入到git仓库。
总结
上面的步骤对于新手来说可能有些繁琐。所以这里再做下归纳。一般首次得克隆远程项目到本地仓库,修改代码后创建提交副本,同步到远程自己的分支,再拉取请求同步远程master分支。以后想拿到远程最新版本只需要先同步远程代码到本地master,再将本地master与本地自己分支合并。整体流程就是这样的。其实只要理解每一个关键步骤的含义,就能很快熟悉整体的操作流程了。

关键步骤 :克隆/提交/同步/拉取请求/同步master/与master合并。

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值