网站点击换图片的效果怎么做,网站怎样做 文件签收,一个空间可以做多个网站吗,官方网站制作哪家专业目录
前言#xff1a;
理解分布式版本控制系统
远程仓库
仓库操作
克隆仓库
推送和抓取
特殊文件
取别名
标签管理 前言#xff1a;
在基本操作#xff0c;分支管理这几个部分#xff0c;我们都会在本地仓库操作了#xff0c;但是目前还没有办法将自己的代码远程…目录
前言
理解分布式版本控制系统
远程仓库
仓库操作
克隆仓库
推送和抓取
特殊文件
取别名
标签管理 前言
在基本操作分支管理这几个部分我们都会在本地仓库操作了但是目前还没有办法将自己的代码远程推送到仓库里面所以本文我们学习远程操作操作完之后我们就可以将自己的代码远程推送到我们自己的gitee或者是github账户啦。
那么废话不多说进入今日主题——远程操作。 理解分布式版本控制系统
git的本质是分布式的版本控制系统版本控制我们已经知道了git中通过改变HEAD指针的朝向从而快速的实现版本回退等操作。
那么分布式我们其实在分支管理章节有已经有所体会对于master分支作为最稳定的分支一般不会在上面进行开发对于其他分支开发分支以及bug分支共同维护某个项目这是分布式一个项目交给多个分支完成每个分支完成对应的操作。
最初分布式可以理解为两个人的电脑互传对应的修改所以两个人之间可以看到所有的文件如果一个人的数据丢失了也不用担心直接从另一个人的电脑上cv就可以了。
那么实际上分布式操作的时候很少有两个人互相传数据的一般都是一台机器作为中央服务器也就是所有的代码数据都会放在上面谁的数据丢失了谁的代码丢失了都可以从上面cv代码回来。
所以对于我们来说中央服务器实际上是我们平常生活中使用的gitee的仓库我们将该仓库作为中央服务器代码也都是传在上面的那么我们如何新建一个远程仓库呢
远程仓库 我们在gitee右上角有个加号点击选择新建仓库我们就进入到了该界面那么名称是要有的路径会默认生成仓库的介绍也是一定要有的。
然后是是否开源我们可以先选择为私有后面有开源的需求就可以直接开源即可。在新建仓库的时候我们要注意的点是三个部分。
语言肯定就是自己经常用什么语言就选择什么语言.gitnore我们后面介绍。开源不用管。 那么对于模板来说ReadMe文件是仓库的一般说明也就是别人进入你仓库之后第一眼看到的就是ReadMe文件所以该文件的作用是用来具体介绍仓库是用来干什么的。第二个是Issue模板文件这个文件与之后的Bug之类的有关我们一会儿看看。第三个是Pull Request文件是什么我们一会儿介绍。
最后就是分支模型因为目前来说不是写项目的话我们选择的一般是单分支模型也就是只有一条分支开发啊调试什么的都在上面进行。
此时我们点击创建。 出现了如下的文件对于README文件我们已经清楚其中后缀有en的README文件是英文非en的就是中文版的 具体的内容我们都是可以自己编辑的。
那么我们看看Issue文件 该文件所在的目录是.gitee里面我们根据该文件的一个模板大概也能猜出大体功能是什么也就是发现Bug的一个报告模板在Issue一栏我们可以看到 这就是Issue的具体图形化新建Issue试试 在Issue一栏我们可以设置对应的负责人标签(里面不止有bug)还有该问题是在哪个分支上出现的日期也有并且可以选择置顶等级和优先级这是非常符合企业级的管理的。
此时创建之后
Issue里面就有了对应的报告那么当问题解决了我们可以在对应的状态里面点击已解决此时一个bug就被我们解决了。
当然了这个仓库如果是开源的任何人都是可以提交Issue的我们作为管理者可以对Issue进行任何的处理如拒绝等。
对于Pull Request来说呢是一个分支合并请求因为开发中的时候不是能直接合并的如果能随便合并那么项目基本上就报废了所以存在着合并请求的东西我们作为管理者自然是有权处理对应的请求的。 对于远程仓库的Pull Request和Issue就暂时讲解到这里。
仓库操作
克隆仓库
我们创建了仓库自然是需要提交代码上去的那么第一个点我们如何克隆远程仓库到我们的本地呢
此时存在两种常用的克隆方法一种是使用SSH协议一种是使用https协议对于SSH来说安全性更高更有保障因为它是使用了公钥加密的。对于https协议呢就没有那么多要注意的了简简单单的克隆就可以了我们先使用https协议作为例子 使用https我们需要的是该字符串然后使用git clone命令注意克隆远程仓库是不能在.git所在的目录创建的所以我们还需要将原来的本地仓库删除 此时仓库就创建好了创建好了之后在基本操作那里我们提及最重要的两个信息是名字和邮箱所以我们也应该配置上 此时都是没有配置的。 此时基本配置就做好了。
这是使用https协议克隆的仓库那么我们将此仓库删除使用SSH克隆一个。 如果我们直接使用git clone进行克隆的话那么往往是会报错的 不能克隆仓库往往是因为我们没有添加对应公钥 在这里是我们添加公钥的地方添加公钥之前我们需要创建文件。
第一步是我们要查看用户的家目录下面是否存在.ssh文件 这里是有的那么我们进入 里面只有这么多东西而我们需要创建的是id_rsaid_rsa.pub两个文件pub是public公钥的意思对于id_rsa是私钥的意思肯定是不能透露给其他人的公钥就无所谓了。 ssh-keygen -t rsa -C email 然后我们退出来在家目录下执行该命令注意邮箱是要输入我们自己的 此时我们一路回车就可以了。
此时进入到ssh目录下 我们打开对应的公钥文件 此时这个一长串的我们就需要全部复制下来。
然后到gitee添加即可 添加好了之后我们此时再次使用ssh协议就可以了 此时就创建成功了但是该公钥是只读的我们应该到设置部分添加公钥操作一样的这里就不演示了。
那么我们的仓库克隆操作就完成了。
此时我们可以git remote查看远程仓库的信息 我们仓库的原始名称就叫做origin。
-v显示了抓取和推送的地址如果我们没有对应的权限也就看不到了。
那么现在演示推送和抓取。
推送和抓取 对于推送push我们常用的操作如上我们目前本地的分支和远程的分支都叫做master所以我们可以直接git push master即可此时我们不妨创建文件,push一下试试 此时push成功了那么我们看看gitee的提交记录 此时push成功。如果我们是使用的https协议每次推送需要输入口令相对来说就麻烦一点。
此时我们实现一下抓取操作这种情况是发生在远端仓库代码进度快于本地的此时需要抓取那么我们在gitee直接修改一下刚才提交的文件就可以了但是注意平时的代码修改是最好不要在gitee上修改的这是个很不好的坏习惯 此时修改成功。 pull来说就是远程在前从远程pull到本地push是本地push到远程顺序还是很好理解的 此时就成功了。
我们平常使用图形化界面的时候如果没有.git文件常常就会push出一大推无关的文件此时特殊文件.gitignore就出场了。
特殊文件
我们现在克隆仓库里面看看.gitignore里面有没有东西 是有的因为我们当时创建的时候勾选了该文件所以gitee自动帮我们初始化好了由Linux的学习我们知道*的意思是通配符所以*.d的意思就是所有以d为后缀结束的文件都不要追踪它#的意思是注释那么文件里面那么多都是代表不要追踪的意思。
我们创建一个.so结尾的文件看git的状态是否发生改变 此时就没有但是有的时候啊我们有一个文件是.so结尾但是是要传输的那么怎么办呢
此时只需要! filename就可以了 此时我们就可以传了。
那么有的时候文件传不过去,gitignore又不好找我们可以使用check检查一下是为什么 git check-ignore -v a.so就是说检查一下为什么传不了。
对于传隐藏文件如果我们不希望改变.gitignore我们就可以git add -f filename即可。
取别名
对于有些命令实在是太长了我们就可以对某些命令取别名 git config --global alias.st status --global代表的是这台电脑的所有仓库都可以使用该命令如果没有了就只有当前仓库能够使用alias.newname dir即可。
此时我们就可以将status简写为st了。
标签管理
本文呢简单介绍一下标签管理因为涉及的内容就只有创建标签操作标签就没了。
如果要创建标签我们应该切换到我们需要创建标签的分支上。
使用git tag [tagname]即可。使用命令git tag可以查看所有标签。 而标签创建好了之后默认是打在最新一次的commit上的。 那么我们如何修改标签到指定的commit上呢 git tag tagname commit id就可以了commit id也可以使用短的使用prettyoneline就可以了。
注意标签是按照字母排序的不是按照创建时间排序的。 -a指定标签名-m文字说明。
此时我们tree .git一下 refs下面就有了一个标签咯。
删除就很简单了-d即可。
因为创建的标签都是在本地只有push到远端才有所以我们可以git push origin [tagname] 此时我们上Gitee看看 标签部分也有了。 git push origin --tags 如果有很多标签可以使用如上的指令一次性推送。
但是删除就相对麻烦一点了本地删除之后远程也需要删除就像这样。 有关git的远程操作和标签管理就介绍完咯~
感谢阅读