百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

可以说是矫情暖男(Git进行中02):git基本操作

bigegpt 2024-10-29 13:01 38 浏览

上一篇我基于自己的理解,简单的描述了一下Git的流程内容,对于不熟悉Git的朋友而言,可能会觉得Git的流程这么复杂,用起来岂不是更加影响工作的效率,但实际上我们使用Git来进行规范管理的时候,只需要几步脚本就可以完成,所以不要那么快就拒绝这位高冷的版本控制大师呀。

下面我们就从Git的安装开始(真的是非常开始)

安装Git

我们来到Git的官网(git-scm),下载一个Git for Windows 的项目(也叫做 msysGit),之后进行安装,安装成功后最终结果是右键会有 git bash等git命令行工具,之后的操作均以通过该git bash来进行

设置Git

设置本地用户信息

Git中的用户名和邮箱,代表着你提交的标识,标识每一次提交的操作人。

在我们所熟悉的托管平台GitHub中,我们通过Git这个版本软件来提交项目和版本到平台上,此时,我们所配置的用户名和邮箱也会被进行权限上的判断,判断可否进行提交更新操作,同时,在将代码提交到远程库时,会再做一次账号和密码验证,如果你的用户名和邮箱跟你的GitHub账号一致,提交修改时,便会将这两者关联起来,在GitHub页面上展示出详细的提交人信息。

所以说,虽然我们在设置本地账号的时候,可以随意填写,但是在工作中,这是不允许的哦。

设置的方式,我们通过Git Bash来进行,即上图中的Git Bash Here,该选项将打开Git命令行程序。

Step.1

Step.2

这样就设置了全局的用户和邮箱信息,但是有时候我们并不是只有一个版本库,可能不同版本库对应的用户名不一样,这时候我们可以针对某个文件夹设置

与全局的区别在于:进入到某个文件夹后,再右键进入Git Bash,随后输入上图两个脚本,但不需要--global属性

 git config user.name "yourname"
 git config user.email "youremail"

生成密钥信息

在设置了本地用户信息后,我们便可以将项目复制到本地,形成本地仓库了,复制的方式有两种(以GitLab为例子,GitLab也是一个托管平台,我们后续会使用Git+GitLab来介绍下工作中的代码管理):

1、通过http克隆;

2、通过SSH克隆;

区别在于通过http克隆我们需要每次都输入用户信息,才可以进行提交、更新、复制等操作。

一般我们都会选择使用SSH来进行,但使用SSH的话,我们需要针对我们的本地用户,生成对应的密钥信息,并将密钥信息配置到托管平台上,托管平台会根据配置的密钥信息来校验用户,判断可否进行操作。

同样,打开Git Bash:

生成的密钥我们可以在C:/用户/you/.ssh里面的id_rsa.pub看到:

使用编辑器打开,并全部复制到托管平台上进行配置(以GitLab为例,打开GitLab-设置-SSH密钥):

至此,我们便可以通过SSH的方式来复制项目到我们本地目录上了。

克隆项目

克隆项目,指的是将远端的项目复制到本地,形成本地仓库,后续修改、提交、更新都将在本地的基础上进行。

首先,我们来到托管平台(GitLab),进入某个项目,通过“克隆”获取SSH地址

来到我们本地,进入一个目录,同样进入Git Bash,进行项目克隆:

之后如果弹出

注意需要输入 yes,不能直接回车跳过,不然clone失败

就酱,就酱紫就可以了。

更新、提交

注意,我们每次提交前要更新下最新,避免冲突。

git pull

将更新当前分支的最新代码。

这里插一句(就插一句)

当前分支的查看方式,我们打开Git Bash的时候,就能看到当前本地仓库的当前分支,你找到了吗(ps. 每次我们复制下来的项目,都是默认master分支,即主分支);

就插这句,分支的其他内容,我们后面再说,现在我们先只基于master来进行开发。

添加所有修改,通过 . 来表示所有修改的文件:

 git add .

添加某个文件:

 git add 文件名

提交至本地仓库:

 git commit -m "修改备注"

提交至远程仓库

 git push orgin master

一般直接clone下来的都是master主干,所以提交也就是提交到master主干上

后续

这一篇只介绍了基于master主分支的操作,实际开发中我们一般会将master作为一个最终的稳定版本,不会在上面进行开发,而是通过另一个开发分支,甚至每位开发人员都拥有自己的开发分支,在开发完成、调试结束后,再提交至master分支。后续将介绍下分支的各种操作及使用场景。

——没事待在家里不出门的 居家程序员。(我不想脱发!)

相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...