今天学习了如何使用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更新操作,把远程仓库最新版本更新到本地,再进行提交。
文章浏览阅读112次。函数对象(仿函数)重载函数调用操作符()的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。注意:1.函数对象(仿函数)是一个类,不是一个函数。2.函数对象(仿函数)重载了”() ”操作符使得它可以像函数一样调用。函数对象特点//函数对象是重载了函数调用符号的类class MyPrint{public: MyPrint() { m_Num = 0; } _stl less函数
文章浏览阅读7.3k次。幻影解析网(dns.52hyjs.com)专为新手站长提供的免费二级域名解析,域名均免费提供使用专门提供二级域名解析的平台,域名均免费提供使用,不收取任何费用,提供的域名当中有已备案域名和未备案域名,域名后缀多可自主选择解析全站提供免费阿里云企业备案域名 供大家使用https://dns.52hyjs.com/..._二级备案域名分发平台
文章浏览阅读235次。1.开三台服务器,第一台作为nginx负载均衡转发器,ip地址:192.168.241.198第二台作为web页面服务器(nginx)_两台centos7 做nginx负载均衡
文章浏览阅读3.1w次,点赞6次,收藏29次。saas平台架构需要完成从用户申请链接saas到用户对自己购买的功能模块的应用整个过程,用户用起saas看似简单快捷,但这个过程却需要saas平台架构默默完成的非常复杂的处理过程。通过对saas平台架构的了解,可以清晰的分化数据的处理过程,让用户也可以明白saas平台架构处理数据的优势。下面介绍:saas平台架构分为哪几部分。saas平台架构之呈现层saas平台架构的呈现层可以使用的客户端可能都浏..._saas架构介绍
文章浏览阅读317次。项目中引用 jquery.form.js插件。打算用 .ajaxForm(options); 方式提交到后台,但是发现 .ajax 是可以正常交互的,但是 .ajaxform 就是不行。首先在form表单中,button的type问题。form表单中,button 的 type 有三种值。分别是:reset : 如..._引入的jquery.form.js不生效
文章浏览阅读5.2k次,点赞4次,收藏12次。该时钟芯片可以做到任意频率的时钟输出控制接口为IIC接口,主要的资料为 :AN428.pdfSi5338-RM.pdfSi5338芯片手册我们首先应该芯片手册,然后对应寄存器说明为Si5338-RM.pdf,AN428里给了一个单片机的demo此外由于寄存器比较多,我们可以借助官方提供的工具软件设置好参数通过export可获取对应的寄存器的值下面是大概的IIC时序代码:/*Si5338.cCreated on: 2020年9月13日 Author: Administr._si5338
文章浏览阅读7.3k次,点赞2次,收藏9次。dnsmasq简介了解Dnsmasq,还是从研究openstack neutron网络开始的,在openstack的网络中,dnsmasq为指定网络提供dhcp和dns功能,后台起的进程如下:dnsmasq --no-hosts --no-resolv --strict-order --except-interface=lo --pid-file=/var/lib/neutron/dhc..._dnsmasq no-negcache
文章浏览阅读395次。简单的生产者消费者模式_多线程生产者生产一个汉堡
文章浏览阅读203次。ES6 关于var,let, const的作用域考题
文章浏览阅读2.2k次,点赞3次,收藏4次。17年3月25号去了广州的CVTE技术面.面试官问到如何去统计一个类的实例化对象个数,这里想了一下可以用一个static数据成员去统计,但是这里注意必须在类的外部定义和初始化每个静态成。 不过我们可以为静态成员提供const整数类型的类内初始值,这样子的话要求静态成员必须是字面值常量类型的 constexpr。 下面给出自己的实现。#include using names_static成员自动统计
文章浏览阅读3.5k次。Chrome应用商店https://chrome.google.com/webstore/category/extensions?hl=zh-CN一般需要FQ和谐上网一下。搜索Metamask,那只小狐狸就是Metamask咯。点击小狐狸之后,再点击“添加至Chrome”即可。_meta mask添加网页
文章浏览阅读513次。anaconda3安装及jupyter环境配置全教程,环境,用户组,用户,可以使用,配置文件anaconda3安装及jupyter环境配置全教程易采站长站,站长之家为您整理了anaconda3安装及jupyter环境配置全教程的相关内容。1. 下载可以去清华源下载最新版的anaconda包,这比在官方网站下载快得多,地址如下:https://mirrors.tuna.tsinghua.edu.cn..._python安装jupyter anconda 3.7.0