visual studio2017应用GIT

84 篇文章 2 订阅
5 篇文章 0 订阅

俺们公司在广东,有个项目在北方某市,需要驻场开发。项目组有个同事不方便出差,怎么办?

将部分代码放在互联网上,使用GIT进行源代码管理。这样即可跨越地域,协同开发矣。我在2014年曾经使用过一段时间GIT,当时就觉得很折腾,并且很快忘得一干二净。这次使用GIT,也着实费了一番工夫。现在赶紧做一个记录。

总的来说,我们在阿里云上存放远程分支。

本文结构:

 1. 当前开发环境 
 2. 搭建GIT环境 
 3. 阿里云上创建项目 
 4. 开始使用GIT开发

一、当前开发环境
操作系统:WIN7、WIN10
开发IDE:vs2017、vs2019

二、搭建GIT环境
1、安装GIT for windows
https://gitforwindows.org/

2、到阿里云上注册一个账号,有则忽略
https://code.aliyun.com/

由于众所周知的原因,github对于我们来说实在是太慢了。幸亏有阿里云。

3、设置SSH证书
在git中clone项目有两种方式:HTTPS和SSH,它们的区别如下:

HTTPS:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码;

SSH:clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。SSH
在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

我们采用SSH协议。SSH证书生成方法:
运行git dash

ssh-keygen -t rsa -C "邮箱"
#此邮箱应与阿里云账号上的邮箱保持一致

基本上就是敲回车。密码我也不设置了,省得麻烦。

生成的公钥位于文件 c:/users/administrator/.ssh/id_rsa.pub 下,用记事本打开,将里面的内容全部拷贝出来,

或者用命令行拷贝:

C:\Users\Administrator>clip < .ssh/id_rsa.pub

然后粘贴到阿里云的账号上:
在这里插入图片描述
4、VS2017安装GIT扩展
打开VS2017,工具-扩展和更新,找到GitHub Extension For Visual Studio,安装

5、打开希望用GIT管理的项目,工具-选项-源代码管理(source control),方式改为GIT

三、在阿里云上创建一个项目
1、打开https://code.aliyun.com/dashboard/projects,新建项目。由于是公司项目,需要保密,所以可见等级设为private

2、添加项目成员
项目创建以后,添加成员。同样,每个成员都要有一个阿里云的账号。
在阿里云中,点击我们新建的项目,右侧菜单成员,在页面中输入他们的阿里云账号,找到并添加到项目中。角色一般是develop。

四、开始使用GIT开发
完成前三个步骤后,环境就算搭好了,可以应用GIT了。

(一)GIT常识
在使用GIT开发之前,应该先了解一点GIT的常识。

GIT最重要的概念是库和分支。分支其实就是库。每一个分支都是一个独立的库。

其中,库分为本地库和远程库。本地库就放在本机,顾名思义,远程库放在别的机器或互联网上。我们平时使用时,所谓的提交(commit),是指提交到本地库。然后,想更新远程库了,靠推送(push),将本地库的更新推送到远程库。如果要获取远程库的最新代码,就要获取(fetch)或拉取(pull),拉取 = 获取到本地库 + 合并更新到本地库。这个本地库,对于我们而言,就是本地的分支。本地可以设置多个分支,远程也是。

GIT与SVN有所不同,GIT的分支是个指针,成本低廉,而SVN的分支是实打实的拷贝。但是,虽然GIT的分支是个指针,却是各自独立的,并不会出现你改了这个分支,其他分支也受到影响这种情况。

另外,SVN是集中式管理,代码托管在服务器的库。而GIT的话,代码也托管在库,但每一个分支都是独立的库,本地的,远程的,并没有说哪一个库更重要。当然,实际应用中,我们还是会下意识地将服务器上的库作为主库,最终结果汇聚到这里来。但逻辑概念上,远程库可以放在任意地方,既可以是服务器上的库,也可以是某个同事机器上的库,因此,在概念上,GIT不是集中式的,而是分布式的。

GIT的分支成本低廉,使用过程中,这个分支那个分支的,初初使用,会觉得很绕,让人难以理解。但其实用了之后才发现,这恰恰是GIT的优点。比如说,开发过程中,我更改了某处代码,提交。此时,提交到了本地库。之后经过拉取远程库,合并,发觉代码不对,这时我可以选择本地库的版本进行回滚。如果是SVN的话,有时本地更改了代码,尚未提交,此时获取服务器代码,也许有冲突之类,结果不小心覆盖了本地,那之前的自己写的代码就找不回来了。在GIT里不大可能出现这种情况,因为本地未提交的话,是合并不了的,要么提交,要么回滚,才能合并。

(二)分支设置思路

我现在的分支方案这样设:

远程库2个分支:master、develop
本地库:develop,私有库

开发时,在私有库;
更新整个团队项目代码步骤:

1、由本地私有库切换到本地develop,拉取远程develop
2、合并本地私有库,此时有冲突的话,解决
3、推送到远程develop
4、切换回本地私有库继续开发
5、公开发布版本从远程develop合并到远程master

(三)初始化步骤

一次性配置GIT

git config --global user.name "阿里云账号"
git config --global user.email "邮箱"

具体项目初始化

1、初始化
命令方式下,进入当前项目根目录下
git init

2、与远程分支建立关联:
git remote add origin git@code.aliyun.com:chendaqu/*****.git

3、创建分支

先拉取
git pull

如果存放文件夹非空,那么git零容忍而拉取失败,因此可用以下语句先删掉。注意重要资料先备份。
git clean -d -fx

创建本地分支develop并与远程分支develop关联
git checkout -b develop origin/develop

拉远程分支develop到本地,远程库:本地库
git pull origin develop:develop

创建本地分支chenqu
git branch chenqu

切换到本地分支chenqu
git checkout chenqu

合并本地develop到chenqu
git merge develop

(四)使用步骤

基本操作是 提交、合并、推送、拉取
提交:将更改提交到本地库
合并:将某分支的更改合并到本分支
推送:将本地分支的更改更新到远程分支
拉取:获取远程分支并合并到本地分支
在这里插入图片描述

1、VS上操作
1)提交
平时开发应养成经常提交的好习惯。提交前记得切换到恰当的分支,比如我这个方案里的私有分支。方法很简单,就是点击解决方案,鼠标右键,选提交即可。强制输入提交注释。
在这里插入图片描述

2)切换分支
团队资源管理器-分支,双击某分支,即切换到该分支。
当前分支显示在VS右下角。

3)合并分支
选择某分支,合并到当前分支
在这里插入图片描述
4)推送/拉取
团队资源管理器-同步,点击推送/拉取

2、命令行方式
直接在VS上操作比较方便;但用命令行,更简洁,逼格也高。

以一个推送到远程库为例:

提交当前分支(chenqu)
git commit -m "写注释"

切换到本地develop
git checkout develop

拉远程分支develop到本地,远程库:本地库
git pull origin develop:develop

合并chenqu到develop
git merge chenqu

推送到远程分支develop
git push orign develop
Visual Studio Code的Git插件有很多种选择,其中一种常用的插件是GitLens。GitLens是一个强大的插件,可以增强Visual Studio Code的Git功能。它可以帮助你查看代码行随时间变化的人、原因和方式,同时还提供了许多其他的功能。 除了GitLens,还有其他一些扩展的Git工具可供选择,因为Visual Studio Code自带的Git工具相对较弱。使用这些扩展工具可以提高你在Visual Studio Code中使用Git的效率和功能。 你可以在Visual Studio Code插件市场中搜索并安装适合自己需求的Git插件,以增强你的Git能力。引用提供了一个关于Visual Studio Code和Git历史的教程文章,可以帮助你更好地了解和使用Visual Studio Code中的Git插件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Visual Studio Code 插件之 - Git History](https://blog.csdn.net/huyuchengus/article/details/115497487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Visual Studio Code插件整理大全](https://blog.csdn.net/qq_42843557/article/details/119892626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值