内容简介:俺们公司在广东,有个项目在北方某市,需要驻场开发。项目组有个同事不方便出差,怎么办?将部分代码放在互联网上,使用GIT进行源代码管理。这样即可跨越地域,协同开发矣。我在2014年曾经使用过一点时间GIT,当时就觉得很折腾,并且很快就忘得一干二净。这次使用GIT,也着实费了一番工夫。现在赶紧做一个记录。一、开发环境
俺们公司在广东,有个项目在北方某市,需要驻场开发。项目组有个同事不方便出差,怎么办?
将部分代码放在互联网上,使用GIT进行源代码管理。这样即可跨越地域,协同开发矣。我在2014年曾经使用过一点时间GIT,当时就觉得很折腾,并且很快就忘得一干二净。这次使用GIT,也着实费了一番工夫。现在赶紧做一个记录。
一、开发环境
操作系统:WIN7、WIN10
开发IDE:vs2017、vs2019
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 ssh
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、创建分支
创建本地分支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、命令行方式
以一个推送到远程库为例:
提交当前分支(chenqu) git commit -m "写注释" 切换到本地develop git checkout develop 拉远程分支develop到本地 git pull origin develop:develop 合并chenqu到develop git merge chenqu 推送到远程分支develop git push orign develop
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 袜子商店应用:一个云原生参照应用
- Android 应用中跳转到应用市场评分
- 授之以渔-运维平台应用模块一(应用树篇)
- OAM(开放应用模型)——定义云原生应用标准的野望
- ChromeOS 终端应用程序暗示其即将支持 Linux 应用
- Android应用之间数据的交互(一)获取系统应用的数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Base64 编码/解码
Base64 编码/解码
URL 编码/解码
URL 编码/解码