关于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:在Azure Devops上创建。
ii. 注册完帐号后,以后管理代码,可以使用二级域名的。例如我的micorsoft帐号是[email protected],那么我自己作为项目经理时,可以浏览器上直接填写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. 关掉那些弹窗。最后一次,再在项目根目录空白处,右键,Tortoies GIT=>推送。这时候有刚才加的仓库地址了,选中它。并勾上推送所有分支。=》确定。
viii. 首次操作还得填自己的Microsoft帐号密码。等它完成。搞定。
ix. Azure DevOps上也能看到推上来的代码啦。
e) 取拉项目
i. 自己先新建一个文件夹,打开文件夹后,右键空白地方,GIT克隆
ii. 在弹窗中填写仓库URL,其它不用动。确定。
iii. 等仓库文件下载完成。搞定。
f) 提交和推送
i. 右键项目内任意文件夹空白地方。tortoiesGIT=>提交
ii. 在日志信息中,填写这次个版本代码的总结信息。再在下面的列表框中,看到修改的文件有两个。默认会勾中。
未受版本控制的文件中,我加了一份word文档,还删除了一份vsidx文件。根据需要放进仓库里的,需要从仓库里删除的。自己勾选。
最后,底部有提交并推送按钮,也可以点击下拉按钮,选择只提交。两者概念在前面说过了。记不清的一定得回头看。
iii. 提交|提交并推送点击后,等它传送文件。完成。
g) 拉取
i. 别的一位同事,或项目经理在服务器上,需要拉取最新代码时,右键项目内任何文件夹的空白地方。右键。拉取(不要点提取,这个提取的概念请新手忽略)。
ii.
h) 推送时代码冲突怎么办
i. 不同的同事改了同一份文件后,冲突有两种情况。
- 改了同一个文件的不同地方,GIT会自动为了将文件合并。
- 改了同一个文件的同一个地方,这时候会需要手动处理。
ii. 我们在推送前,习惯先拉取。拉取时,如果文件有冲突,情况1会自动合并,只是提示一下,情况2时,可以点击查看冲突位置,在工具中直接处理冲突。这操作有点难度,也可以仅点击查看冲突自己先将冲突的文件复制一份到别处,然后使用meger_head菜单来以别人的代码为准覆盖本地,然后再打开复制到别处的自己的那份文档,复制自己要的那部份代码上去。再提交推送。
标签:文件夹,GIT,仓库,代码,知识,扫盲,git,提交,推送 From: https://www.cnblogs.com/linhx/p/17056186.html