Git基本操作一

标签: Git 分类: 软件 创建时间:2019-03-13 08:56:39 更新时间:2025-01-17 10:39:22

全世界最大同性交友群GitHub,值得拥有。

1.代码获取Gist文件最新版本

Gist是Github发布的新功能,主要是用来存放小型代码。结合浏览器插件GistBox,可以打造成一个类似于有道云笔记的笔记。各种好处,我就不说了。知乎上有。我的需求是这样的,在博客中有一个每日一问的版块,需要使用到后台,我想到了使用Gist编写内容,然后通过ajax的方式调用获取数据。get-a-single-gist ,Gist提供了API供读取相关内容,但是这里面有个问题,是因为api调用的话,会携带大量的history信息,我考虑如果这个文本被修改了很多次,会不会返回的内容很多呢?那有没有直接获取最新版本的Gist的方法呢?回答是有的。

1)获取单独的Gist GET /gists/:gist_id

实例: ,:gist_id是在创建完成Gist之后,在Embed里面用户名之后的一串数字即为这个Gist的id。

2)获取最新版本的Gist

要获取特定版本的Gist,可以直接点击上图的raw查看地址,特定版本:

1
2
https://gist.githubusercontent.com/ <username\> /bd2afd6e78fd085fe988920343860d20/raw/6a450f1ba6d96f24bee0f2cd290e21084a337665/laster.js 
https://gist.githubusercontent.com/<username\> /<gist-id\>/raw/...

在打开的url中去掉raw后面的版本号,即为最新版本的Gist。但是这个请求是有问题的,当你改变了Gist的内容的时候,使用这个地址,并不会立刻得到最新的版本,需要过个几分钟时间,才能得到最新版本的Gist,可能Github服务器太多,反应不过来吧。
最新版本:

1
https://gist.githubusercontent.com/<username\> /bd2afd6e78fd085fe988920343860d20/raw/laster.js

这样就解决了我的问题,可以ajax获取Gist中的内容,呈现在页面中,只要修改Gist的内容,博客不用修改,也可以获取最新的内容,静态博客变成了动态博客。基于这种思想,有人专门开发了一个动态博客,送上链接 (不得不感叹,Github上的人才真是太多了,佩服,学习)

2.基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## 放弃修改
git checkout .

## 查看远程仓库地址
git remote -v

## 修改远程地址
git remote set-url origin [url]

## 查看提交历史
git log

## 查看更多的提交历史
git reflog

## 回退
git reset --hard b7057a9

## 强制推送
git push -f

3.Windows下删除和修改保存的git密码

有时候在局域网内搭建了一个git服务器,在使用Windows进行远程提交的时候,第一次会弹出框提示输入用户名密码,只需输入一次,windows就自动记住了用户名密码,以后就不用输入了。但是要是不小心输入错误了,怎么办?
进入控制面板->选择用户账户->选择管理你的凭据->选择Windows凭据->选择git保存的用户信息->选择编辑或者进行删除操作

4.git clone时携带用户名密码

有使用进行远程复制,如果显示remote: User permission denied,就需要在请求的时候,携带上用户名密码:git clone http://邮箱(或用户名):密码@仓库,例如: git clone http://ph-zhenglc:Ph2095@192.168.1.11:3000/phkj/PhEmsGis.git 。 有一个地方要注意,就是如果用户名密码中包含了@字符,可能需要进行转义,用 %40 代替 @ 字符。

5.Windows下删除和修改保存的git密码

有时候在局域网内搭建了一个git服务器,在使用Windows进行远程提交的时候,第一次会弹出框提示输入用户名密码,只需输入一次,windows就自动记住了用户名密码,以后就不用输入了。但是要是不小心输入错误了,怎么办?
进入控制面板->选择用户账户->选择管理你的凭据->选择Windows凭据->选择git保存的用户信息->选择编辑或者进行删除操作

6.git clone时携带用户名密码

有使用进行远程复制,如果显示remote: User permission denied,就需要在请求的时候,携带上用户名密码:git clone http://邮箱(或用户名):密码@仓库,例如: git clone http://ph-zhenglc:Ph2095@192.168.1.11:3000/phkj/PhEmsGis.git 。 有一个地方要注意,就是如果用户名密码中包含了@字符,可能需要进行转义,用 %40 代替 @ 字符。

7.修改gitignore后生效

1
2
3
4
git rm -r --cached .  #清除缓存
git add . #重新trace file
git commit -m "update .gitignore" #提交和注释
git push origin master #可选,如果需要同步到remote上的话

8.linux下保存用户名和密码

(1) 在~目录下新建.git-credentials,直接vim .git-credentials,输入:

1
https://{username}:{password}@github.com.

(2) git config –global credential.helper store

9.window、Linux下使用ssh登录

1
ssh-keygen -t rsa -C "邮箱"

问题:
(1) 无法创建ssh
使用 ssh-keygen -t rsa无法创建id_rsa,提示权限错误。

参考文章:
1.使用ssh连接gitHub

10.解决使用git,ssh每次都要输入密码

执行命令:ssh-keygen -t rsa -C “邮箱” 时,不要输入密码,直接按回车就好了,这样每次使用ssh提交的时候就不用每次都输入密码了。如果已经生成了,那就重新执行一遍生成命令,直接按回车,然后将远程仓库中的ssh-key替换掉。不行的话,那就直接将用户文件夹下的.ssh\下的文件都删掉,重新生成,然后重新替换掉远程github上的ssh-key

11.Centos安装最新版的git

默认的Centos上使用yum install git方式,安装的git都是1.8.x版本,但是AzureDevops使用时总是会提示要安装最新版,本着不折腾就浑身难受的精神,我还是尝试了安装最新版的git。
(1) 安装ius源

1
2
3
yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

(2) 安装git2u

1
2
3
4
## 检查
yum search git2u
## 安装
yum install git2u
小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。