首页 > 其他分享 >关于GIT使用的扫盲知识

关于GIT使用的扫盲知识

时间:2023-01-16 19:57:26浏览次数:76  
标签:文件夹 GIT 仓库 代码 知识 扫盲 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:在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.          不同的同事改了同一份文件后,冲突有两种情况。

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

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

标签:文件夹,GIT,仓库,代码,知识,扫盲,git,提交,推送
From: https://www.cnblogs.com/linhx/p/17056186.html

相关文章

  • Fix for PowerShell Script Not Digitally Signed
    Whenyouruna.ps1PowerShellscriptyoumightgetthemessagesaying“.ps1isnotdigitallysigned.Thescriptwillnotexecuteonthesystem.”Tofixity......
  • GIT常见命令(一)
    参考:https://blog.csdn.net/liuxiaoheng1992/article/details/79108233https://www.cnblogs.com/rainboy2010/p/12671633.htmlhttps://www.cnblogs.com/marblemm/p/7161......
  • dockercompose搭建GITLAB上传代码
    1.创建挂载目录:mkdir-p/home/yuexin/gitlab/etc/home/yuexin/gitlab/log/home/yuexin/gitlab/data2.编写dockercomposeversion:'3.7'services:gitlab:im......
  • Java面向对象程序设计基础知识
    Java面向对象程序设计Java基础语法类(class):类是一个模块,描述一类对象的行为和状态对象:类的一个实例,有状态和行为,例如:一条狗是一个对象,它的状态有:颜色、名字、品种;行......
  • github无法访问解决方法
    1.分别打开https://tool.chinaz.com/dns/?type=1&host=github.com&ip=和https://tool.chinaz.com/dns/?type=1&host=github.global.ssl.fastly.net&ip    2.ma......
  • hbuilderx 项目上传至git 私库 gitea20220908
    1、搭建git私库[gitea]   2、hbuilderx 新建项目oapm  3、初始化的项目本地仓库:项目oapm进入项目本地文件夹根目录右键GitBash,输入入命令:gitinit   项目本地......
  • 由经典面试题(从输入url到页面展示的详细过程)梳理前端知识体系
    前言本文的目标是梳理一个相对完整的前端向知识体系,本文是前端向,以前端领域的知识为重点前端向知识的重点首先明确,计算机方面的知识是可以无穷无尽的挖的,而本文的重点是梳理......
  • 矩阵相乘以及矩阵基础知识
    总忘,记一下【向量的定义】向量可以形象化为一个有长度的箭头,或是一个有序的数组,它定义在一组基坐标系中,满足可加性以及缩放性【坐标系及基向量】每当我们用数字......
  • SQL DML语句 知识点
    ALTER用法ALTERTABLE表名ADD列名/索引/主键/外键等;ALTERTABLE表名DROP列名/索引/主键/外键等;ALTERTABLE表名ALTER仅用来改变某列的默认值;ALTERTABLE表名......
  • (狂神) Git版本控制
    1、版本控制1.1什么是版本控制版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的......