最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球热议:关于GIT使用的扫盲知识

来源:博客园

关于GIT

a)什么是git

用于团队里各成员协同开发项目的一个代码管理工具。


(相关资料图)

与之SVN、微软的TFS是同一类东西。而git是时下最火的代码管理工具。

b)它能解决什么问题

i.各同事开发同一个项目,最后代码合并混乱问题

ii.什么时间线谁改动了什么。

iii.同一份文档同一时间,被几个同事都改过。改了相同的一行代码,工具可以让我们选择采用谁的修改,改了不同地方,工具可以自动帮我们将它们合在一起。

iv.所有代码均有历史可查。谁在什么时候做过了什么。以往各版本的代码了轻松找到。

c)怎么下载

在https://git-scm.com/ 中直接下载。全程保持默认设置选项,一直下一步,直至完成。

这时候,有了git,我们可以用命令行来做git管理,但这个太高难度了。我们需要图型化界面。这便是接下来要说的git工具。

GIT的工具都有哪些

a)VS自带

如果习惯了visualStuio,那么IDE工具自带,也有可能安装时没有选择这个组件。在图中右下角,如果看到《选择仓库》字眼,就已经安装好了。

否则,可以在VS中,工具=》获取工具和功能,单个组件选项卡,找到git,勾上它,应用修改即可。

b)TortoiesGIT

这个适合于不习惯使用vs和人员和在服务器中管理所使用。

下载地址https://tortoisegit.org/download/

如下图,安装包随自己设备32位和64位下载,英文不好的,连同下面的中文语文包也下载来。

c)先安装好安装包,最后一步选择语言时,可以先停下来,去安装英文包,再回来刷新下便可以选择中文包。全部安装过程都保持默认值,傻瓜式安装。

如果不经意走完了也没关系,程序和语言包都安装好后,打开电脑上任意一个文件夹中,在空白地方右键=》TortoiesGIT=》setting=》General=》language中选择中文,确定即可。

平台有哪些

a)Git只是一个工具,代码提交后,总得有服务器来保存代码。这些服务器就是平台。

下边这几个平台,用法上大同小异。

b)建议平台:Microsoft GIT(Azure DevOps),由微软收购gitHub而来,免费,完全免费!!

官网https://azure.microsoft.com/zh-cn/free/

它需要一个microsoft帐户(如果你的windows使用了microsoft帐户,就用它好了)。注册登录上去后,可以在上面建仓库(仓库的意思是一个个项目存放的地址)。也可以在VS中直接提交至一个新仓库,具体操作后面会讲。

c)gitHub:这个是全球最强的代码库,虽然微软收购了,MicrosoftGIT的实际也是它。但它是保留了原来的一切。但它只有共用仓库时免费的,私有仓库得收钱。

一般做轮子。造福社会时才用。自己在上面有个仓库有几百个star时,便是国内顶级大神了。

d)自己建一个GIT服务器,不建议这么做,我也不记得怎么搭建了。

e)国民的最受gitee(即码云)

地址见https://gitee.com/。上面容易找到一些不错的源码。最大的好处是它服务器在国内,网速快啊。

搞清楚几个重要概念

a)分支

团队刚开始使用git时,不建议使用分支这个概念。因此后面所提及的内容,均不提及分支。

它的场景是用作版本分化、测试版、预览版、生产环境版的不同环境所使用。

相当于分身出几个仓库差不多意思,但它最终还能将不同分支下的代码合并成一个。

b)提交

自己的代码完成开发,或到一定阶段想本地存档时,提交一下。相当于对当前版本做了一个镜像。如果不习惯这个提交,可以不用。平时直接点提交并推送。

非常需要注意的是:提交仅是本地保存一下,不会保存至远程服务器让大家得到。保存至远程服务器是推送。

c)推送

当自己的代码完成开发,可以让同事使用时,便可以进行推送。推送后,别的同事便可以拉取你的代码进行使用。

注意:大家不要写了几行代码,根本运行不起来就推送,这无形中让别的同事看到一条条运行不起来的代码推送记录。

d)拉取

当别人提交了代码,自己需要使用时;自己的本地项目希望升级到最新版本时,进行拉取。

e)合并

在推送自己的代码时,养成良好习惯:选拉取最新代码,然后再提交。但是,拉取过来的代码,有时候自己也刚好改了同一个文件,甚至改了同一个文件的同一处地方。这时候需要将别人的代码跟自己所做的更新进行合并。

f)文件添加与忽略

除了项目经理首次将项目放到git库存,开发时经常会添加文件,有时候也会测试时产生一些测试文件在项目里(例如上传功能,我们测试产生了一些图片文件在源码某个文件夹中),这时候,我们需要确定下,哪些文件夹、文件是需要添加进仓库里进行管理的,哪些是需要忽略(不放进库存中)的。

以.net项目为例子,我们会将以下进行忽略。

文件project.config\web.config

文件夹\bin\obj

Bin文件夹中,如果有特别的包,不是从nuGet中可得到的,才需要放进项目里,否则如项目引用、nuget包,当前项目运行时产生的dll,均需要忽略

初使用者很容易将项目运行时产生的dll放进项目里去。这东西必须忽略,不然每次都会出现冲突。

具体操作使用(以Azure Devops平台为例)

a)创建仓库

i.方法1:在AzureDevops上创建。

ii.注册完帐号后,以后管理代码,可以使用二级域名的。例如我的micorsoft帐号是test@hotmail.com,那么我自己作为项目经理时,可以浏览器上直接填写https://test.visualstudio.com/ 来进行访问。

iii.进Azure Devops管理界面后,点击NewProject

iv.填写项目名,一定要用英文。

描述随意写,非必填。

访问权限一定要选私有,不然全世界可以得到源码。

v.项目创建完后,通过invite按钮,邀请项目同的其它同事相应的帐户进仓库。

vi.最后,在Repose=>Files中,得到这个仓库地址,同事们就可以使用了。

d)第一次提交代码

这里项目经理才需要做的事。在vs中或Tortoies git中操作大同小异。后面多以Tortoies git为例

i.打开项目的根目录,右键空白地方,在这里创建仓库。

ii.在弹出来窗口中,不要勾上纯建版本库,那里没有平台,仅自己一个人用才玩的。确定后,项目中多了一个隐藏文件夹.git,当然你的电脑需要显示隐藏文件夹才能看到。我们平时完全不用管它,如果需要脱离git将代码复制给别人,连.git文件夹也复制进去。

iii.在项目中,找到那些不需要放进GIT仓库中的文件夹和文件,右键将它忽略掉。(如果在VS中操作,会非常智能的帮我们将那些不需要的bin\obj去掉。非常智能。)

iv.再次右键空白地方。Tortoies Git=》推送

v.在弹出窗中,其它的均默认不要改。只点击远程的管理按钮。

vi.将我们在Azure DevOps中创建的仓库地址填进去。也只需要填URL,远程名称默认会给你个origin。点击添加保存=》确定。

vii.关掉那些弹窗。最后一次,再在项目根目录空白处,右键,TortoiesGIT=>推送。这时候有刚才加的仓库地址了,选中它。并勾上推送所有分支。=》确定。

viii.首次操作还得填自己的Microsoft帐号密码。等它完成。搞定。

ix.Azure DevOps上也能看到推上来的代码啦。

e)取拉项目

i.自己先新建一个文件夹,打开文件夹后,右键空白地方,GIT克隆

ii.在弹窗中填写仓库URL,其它不用动。确定。

iii.等仓库文件下载完成。搞定。

f)提交和推送

i.右键项目内任意文件夹空白地方。tortoiesGIT=>提交

ii.在日志信息中,填写这次个版本代码的总结信息。再在下面的列表框中,看到修改的文件有两个。默认会勾中。

未受版本控制的文件中,我加了一份word文档,还删除了一份vsidx文件。根据需要放进仓库里的,需要从仓库里删除的。自己勾选。

最后,底部有提交并推送按钮,也可以点击下拉按钮,选择只提交。两者概念在前面说过了。记不清的一定得回头看。

iii.提交|提交并推送点击后,等它传送文件。完成。

g)拉取

i.别的一位同事,或项目经理在服务器上,需要拉取最新代码时,右键项目内任何文件夹的空白地方。右键。拉取(不要点提取,这个提取的概念请新手忽略)。

ii.

h)推送时代码冲突怎么办

i.不同的同事改了同一份文件后,冲突有两种情况。

  1. 改了同一个文件的不同地方,GIT会自动为了将文件合并。
  2. 改了同一个文件的同一个地方,这时候会需要手动处理。

ii.我们在推送前,习惯先拉取。拉取时,如果文件有冲突,情况1会自动合并,只是提示一下,情况2时,可以点击查看冲突位置,在工具中直接处理冲突。这操作有点难度,也可以仅点击查看冲突自己先将冲突的文件复制一份到别处,然后使用meger_head菜单来以别人的代码为准覆盖本地,然后再打开复制到别处的自己的那份文档,复制自己要的那部份代码上去。再提交推送。

关键词: 项目经理 大同小异 我们需要