今天学习了如何使用Gitee远程仓库,非常方便的管理我们的代码的同时,还可以保存代码防止丢失!为防止以后忘记如何操作,写此文章总结记录一下。
提示:学习Gitee之前,我建议先了解一下Git,下面讲解如何使用Git
第一步下载:在浏览器输入网址:https://git-scm.com/ 进入git的官网,点击红框选项
或者点击Git安装包下载
这里选择64位版本下载,如果电脑是32位就选择32位版本
第二步安装:开始安装,点击Next
选择安装路径,可根据自己情况自由选择,但不要包含中文和特殊字符
使用默认即可,然后下一步
目录名,使用默认即可
GIT默认编辑器,不用选,直接下一步
git的环境变量,直接下一步
使用默认的,然后下一步即可
默认,下一步
默认,下一步
默认,下一步
不要勾选
安装完成!
验证是否安装成功,在桌面或者任何文件夹内右键,出现红框两个选项代表安装成功
桌面空白处右击,选择Git Bash Here,然后输入命令 git --version(注意有空格)可查看当前版本
TortoiseGit 是基于TortoiseSVN 的 Git版本的 Windows Shell 界面。
第一步下载:在浏览器输入网址:https://download.tortoisegit.org/tgit/,在红框中选择版本
这里大家根据电脑自身情况选择下载安装包,然后下载中文汉化包,方便今后使用
下载完成,安装TortoiseGit
TortoiseGit的安装很简单,一直下一步就可以,安装路径尽量不要带中文即可,安装完后,在桌面右键会出现以下选项
选择Settings 进入设置,我们可以看到目前 Language:English 默认是英文
安装汉化包,默认下一步安装即可,此时进入设置,我们选择中文选项
设置完后,选择左侧的Git,输入名称和邮箱,名称使用姓名字母缩写即可,邮箱用163,qq都可以
到此,Git和TortoiseGit安装及汉化 结束,下面我们开始学习如何使用!
第1步:在本地新建一个文件夹“Git_Test1”,进入文件夹右键,打开Git Bash Here
第2步:初试化本地历史仓库,执行完命令后,本地会出现一个.git文件夹(需要打开查看隐藏文件)
git init //初始化一个本地历史仓库
第3步:在文件夹中新建test.txt文件,查看当前文件的状态
git status // 查看文件的状态,此时显示红色
第4步: 添加到暂存区,并使用git status 查看状态
git add test1.txt //添加到暂存区,文件会出现蓝色加号,如果是刚安装完Git,操作后没有出现蓝色加号,则需要重启一下电脑
注:这里我们也可以输入:git add . 或者 git add * 提交全部文件到暂存区
//两者区别:
git add . //会依据.gitignore文件做一下过滤 (这里提到的ignore是将扩展名存入一个忽略文件,上传时会根据扩展名过滤文件)
git add * //会忽略.gitignore文件把任何文件都加入到暂存区
看一下状态
git status //查看文件的状态,此时显示绿色,此时文件已经上传到了暂存区
第5步:提交到本地历史仓库
git commit -m "日志信息" //双引号可加可不加,主要用来描述本次上传做了哪些操作,
//执行后txt文件会出现绿色对标,代表文件已上传到本地历史仓库
第6步:查看日志
git log //查看详细日志
git reflog //查看简化log的输出内容日志,我们在恢复历史版本时会用到日志的唯一标识,标识太长所以我们使用这个简化
以上便是Git的基本操作,可以将本地的文件上传到本地仓库,交给Git管理,接下来是如何进行历史版本的切换
问题:为什么要用到历史版本切换?
场景:version2.0版本发布之后有问题,现在代码需要维护,能不能先把版本切换回version1.0让用户去用?怎么切换?
这里我们新建一个text2,再做一次上传操作
第1步:获取版本1.0日志中的唯一标识(一串黄色字符数字)
git reflog //我们可以看到两次上传的唯一标识,此时文件夹中有两个txt文件
第2步:切换到版本1.0
git reset --hard +唯一标识 //唯一标识又叫指针位置 可回退到指定的版本
//此时我们回到了第一次上传后的版本状态,可以在这个版本进行任意操作,而且第二次上传的版本依然存在,我们可以git reflog查看一下,第二次版本还在并且增加了一条新的日志。
由此我们本地的文件就算删除了也可以通过git恢复,那新的问题来了,我通过git只能通过自己电脑在本地操作,有什么办法可以让我在另一台设备上也访问我的仓库吗?Gitee解决了这个问题,接下来讲解Gitee!
Gitee(码云)是国内的代码托管平台,适合国内程序员习惯,相对于github访问速度极快。
码云除了提供最基础的 Git 代码托管之外,还提供代码在线查看、历史版本查看、Fork、Pull Request、打包下载任意版本、Issue、Wiki 、保护分支、代码质量检测、PaaS项目演示等方便管理、开发、协作、共享的功能。
第1步:打开浏览器输入网址:https://gitee.com/ 进入Gitee官网,注册账号
第2步:新建仓库
右上角 加号→新建仓库
仓库名称:建议和本地文件夹一致,或者见名知意
仓库介绍:随便写写,说明这个仓库的用途
创建好后是这样
问题:那本地仓库怎么和Gitee远程仓库关联呢?这时需要SSH公钥及逆行关联
第1步:右上角头像 → 设置
在界面左侧找到SSH公钥,可以看到添加公钥界面
第2步:本地生成SSH公钥
首先设置账户和邮箱
git config user.name 账户名 //设置账户
git config user.name 邮箱 //设置邮箱
git config user.name //查看账户
git config user.name //查看邮箱
使用 ssh-keygen -t rsa -C “邮箱” 生成.ssh,执行后 需要敲击三次回车
使用 ssh-keygen -t rsa -C "邮箱" 生成.ssh,执行后 需要敲击三次回车
第3步:查看ssh公钥,复制到Gitee关联仓库
cat ~/.ssh/id_rsa.pub //查看ssh公钥,选中右键copy复制 (只有波浪线前有空格,后面代码没任何空格)
注意:如果执行代码后无法查看,也可以通过文件的路径,去查看
打开Gitee仓库添加SSH界面,把ssh公钥粘贴进去,标题不用输入,会自动添加
点击确定,输入密码进行验证,添加成功!
第4步:测试和码云的链接
ssh -T git@gitee.com //测试链接是否成功
此时我们的本地已经和远程仓库完成了关联,接下来进行操作远程仓库
第一步:在当前目录下,右键打开Git Bash Here
先提交到本地历史仓库
在本地仓库中添加远程仓库的URL,并把本地仓库的代码提交到远程仓库
git remote add origin 仓库URL //仓库URL在下方红框中复制
//add后是:指的是远程仓库的别名,默认是origin
//仓库URL:指的是远程仓库的地址
git push -u origin master //提交到远程仓库
// master:指的是分支,gitee的默认分支是 master
来到Gitee仓库,刷新,就可以看到我们刚提交的代码了
强制推送:git push -u origin master -f //注意:慎用,会把远程仓库原来的代码覆盖掉!!!
代码提交注意事项
注意:本地仓库往远程仓库提交代码时,如果远程仓库原来就有代码,而且和本地仓库的代码不一样,这时候如果想推送代码到远程仓库,那么就会提示失败了!!!原因是因为远程仓库和本地仓库的代码不一致!!!!按照流程,本地仓库应该先把代码更新一下(git pull),把远程仓库最新代码更新到本地!!
我们打开另一个本地仓库Test2进行克隆git_test1操作
git clone 仓库地址 //不需要我们手动初始化本地历史仓库,它会帮我们自动初始化好一个本地历史仓库
//注意:克隆到本地仓库的代码再往远程仓库提交新代码时不需要使用git remote 命令
此时,我操作结束后,想再把当前的代码上传到远程仓库,再执行一次推送代码即可
git push -u origin master //推送代码到远程仓库
推送前后对比
我们在提交代码前要确保当前是最新版本的仓库,否则提交就会报错
git pull origin master //将远程仓库代码更新到本地
看到这里,我们已经掌握本地仓库对远程仓库的 提交,克隆,更新等操作,接下来是如何将我们日常生活中使用的IDEA中的项目提交到Gitee远程仓库中管理。
创建一个新项目Git_Test,创建模块Test1
File → Settings 进去设置,选择Version Control 版本控制下的 Git,点击右侧 Test 测试,会显示Git版本
如果在模块右击后没有git, 就按照以下方式操作一下
选择Version Control 版本控制,点右上角加号,VCS下拉选择Git
使用idea创建本地历史仓库
我们想对Test01模块进行管理,需要选择它的上一级目录(Git_Test)创建本地历史仓库,操作完后右上角会出现Git对应的按钮,蓝色箭头对应着pull提交操作,绿色对号对应着commit推送操作
点击绿色对号,第一次打开可能会像下面截图这样,不显示我们的项目模块,只需要将红框选项打上勾就好
将这两项勾选就可以了
在模块前方框中打勾,就可以推送该模块,在下面可以写几句简单介绍,点击 Commit
推送成功后提示
点击绿箭头,上传代码,第一次上传需要添加远程仓库地址,地址在Gitee仓库中复制
填写完地址,点击OK,点击Push提交
提交成功反馈
我们打开Gitee仓库,刷新就会看到刚刚上传的代码
查看日志 提交记录
在要转换的版本上右键,选择 Reset…
点击 Reset,就回到了 第三次提交的版本
使用这种操作虽然可以实现切换到第三次提交版本,但第三次提交之后的版本就会被删除,而我们之前使用指令实现历史版本切换时,可以保留其他版本,所以我们这里可以选择下方的选项Revert,即切换了版本,又保留了之后的版本
自动生成的介绍
版本变化,在第二次版本分出来一个分支,继续操作,保留了第三和第四次的提交记录
总结:Revert 操作会当成一个新的提交记录这种回退的好处在于,如果后悔了“回退”这个操作也可以回退到没有回退之前的版本因为历史记录还保留提交记录。而Reset操作比较暴力,切换到之前版本后会直接舍弃之后的版本。可根据个人需求进行选择
在打开IDEA的界面 选择最下面这一项,选择Git
输入远程仓库的地址,选择克隆的保存位置,点击Clone,就可以将远程仓库的代码克隆到我们的IDEA了
到此,我们掌握六通过IDEA对Gitee远程仓库的 推送,提交,更新,克隆 等操作!
如果进入settings → Version Control 添加Git后 依旧不显示,可以切换到Project试一试
本地仓库往远程仓库提交代码时,远程仓库原来就有代码,而且和本地仓库的代码不一样,这时候如果想推送代码到远程仓库,那么就失败了!是因为你当前本地仓库和远程仓库的代码不一样,本地不是最新的版本,需要进行git pull更新操作,把远程仓库最新版本更新到本地,再进行提交。
文章浏览阅读2.9k次,点赞8次,收藏14次。测试主要做什么?这完全都体现在测试流程中,同时测试流程是面试问题中出现频率最高的,这不仅是因为测试流程很重要,而是在面试过程中这短短的半小时到一个小时的时间,通过测试流程就可以判断出应聘者是否合适,故在测试流程中包含了测试工作的核心内容,例如需求分析,测试用例的设计,测试执行,缺陷等重要的过程。..._测试过程管理中包含哪些过程
文章浏览阅读870次,点赞16次,收藏19次。1.背景介绍政府数字化政务是指政府利用数字技术、互联网、大数据、人工智能等新技术手段,对政府政务进行数字化改革,提高政府工作效率,提升政府服务质量的过程。随着人工智能(AI)和机器学习(ML)技术的快速发展,政府数字化政务中的人工智能与机器学习应用也逐渐成为政府改革的重要内容。政府数字化政务的人工智能与机器学习应用涉及多个领域,包括政策决策、政府服务、公共安全、社会治理等。在这些领域,人工...
文章浏览阅读219次,点赞2次,收藏4次。系统主要的用户为用户、管理员,他们的具体权限如下:用户:用户登录后可以对管理员上传的学习视频进行学习。用户可以选择题型进行练习。用户选择小程序提供的考研科目进行相关训练。用户可以进行水平测试,并且查看相关成绩用户可以进行错题集的整理管理员:管理员登录后可管理个人基本信息管理员登录后可管理个人基本信息管理员可以上传、发布考研的相关例题及其分析,并对题型进行管理管理员可以进行查看、搜索考研题目及错题情况。_mysql刷题软件
文章浏览阅读1.4k次。myelipse里有UML1和UML2两种方式,UML2功能更强大,但是两者生成过程差别不大1.建立Test工程,如下图,uml包存放uml类图package com.zz.domain;public class User {private int id;private String name;public int getId() {return id;}public void setId(int..._根据以下java代码画出类图
文章浏览阅读174次。需求:一个topic包含很多个表信息,需要自动根据json字符串中的字段来写入到hive不同的表对应的路径中。发送到Kafka中的数据原本最外层原本没有pkDay和project,只有data和name。因为担心data里面会空值,所以根同事商量,让他们在最外层添加了project和pkDay字段。pkDay字段用于表的自动分区,proejct和name合起来用于自动拼接hive表的名称为 ..._flume拦截器自定义开发 kafka
文章浏览阅读380次。原标题:Java Spring中同时访问多种不同数据库 多样的工作要求,可以使用不同的工作方法,只要能获得结果,就不会徒劳。开发企业应用时我们常常遇到要同时访问多种不同数据库的问题,有时是必须把数据归档到某种数据仓库中,有时是要把数据变更推送到第三方数据库中。使用Spring框架时,使用单一数据库是非常容易的,但如果要同时访问多个数据库的话事件就变得复杂多了。本文以在Spring框架下开发一个Sp..._根据输入的不同连接不同的数据库
文章浏览阅读3.6k次,点赞9次,收藏25次。本案例描述了晶振屏蔽以及开关电源变压器屏蔽对系统稳定工作的影响, 硬件设计时应考虑。_eft电路图
文章浏览阅读1.1k次。对于物料价格的更改,可以采取不同的手段:首先,我们来介绍MR21的方式。 需要说明的是,如果要对某一产品进行价格修改,必须满足的前提条件是: ■ 1、必须对价格生效的物料期间与对应会计期间进行开启; ■ 2、该产品在该物料期间未发生物料移动。执行MR21,例如更改物料1180051689的价格为20000元,系统提示“对于物料1180051689 存在一个当前或未来标准价格”,这是因为已经对该..._mr21 对于物料 zba89121 存在一个当前或未来标准价格
文章浏览阅读7.4k次,点赞3次,收藏13次。[文章导读]联想启天M420是一款商用台式电脑,预装的是win10系统,用户还是喜欢win7系统,该台式机采用的intel 8代i5 8500CPU,在安装安装win7时有很多问题,在安装win7时要在BIOS中“关闭安全启动”和“开启兼容模式”,并且安装过程中usb不能使用,要采用联想win7新机型安装,且默认采用的uefi+gpt模式,要改成legacy+mbr引导,那么联想启天M420台式电..._启天m420刷bios
文章浏览阅读2.7k次,点赞2次,收藏9次。一,为什么要冗余数据互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。水平切分会有一个patition key,通过patition key的查询能..._保证冗余性
文章浏览阅读88次。是时候闭环Java应用了 原创 2016-08-16 张开涛 你曾经因为部署/上线而痛苦吗?你曾经因为要去运维那改配置而烦恼吗?在我接触过的一些部署/上线方式中,曾碰到过以下一些问题:1、程序代码和依赖都是人工上传到服务器,不是通过工具进行部署和发布;2、目录结构没有规范,jar启动时通过-classpath任意指定;3、fat jar,把程序代码、配置文件和依赖jar都打包到一个jar中,改配置..._那么需要把上面的defaultjavatyperesolver类打包到插件中
文章浏览阅读909次。1.得下载一个番茄插件,按alt+g才可以有函数跳转功能。2.不安装番茄插件,按F12也可以有跳转功能。3.进公司的VS工程是D:\sync\build\win路径,.sln才是打开工程的方式,一个是VS2005打开的,一个是VS2013打开的。4.公司库里的线程接口,在CmThreadManager.h 里,这个里面是我们的线程库,可以直接拿来用。CreateUserTaskThre..._番茄助手颜色