您的位置:首页 > 编程语言

github基础操作

2017-11-29 05:08 148 查看

SSH基础知识

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

  对于github而言,ssh-key主要是用来确保当前IP(host)是否有权限对远程仓库进行操作,无论是push还是pull。

ssh入门贴

ssh-key管理

如果我们想用多台电脑来对同一个库进行操作,就应该在不同电脑上生成不同的ssh—key添加到库里面去。

ssh相关命令

生成ssh-key命令

ssh-keygen -t rsa -C "你的邮箱"


这时候会弹出来

Enter file in which the key is (/home/simon/.ssh/id_rsa):
你想新建的文件名


如果之前没有生成过ssh-key,按回车就好,ssh-key就在这个目录

如果之前已经生成过,而且不想覆盖,就输入文件名,它会在这个目录创建你输入的文件,然后把新的ssh-key存进去,像下面

--home
--Simon
--.ssh
--第一个ssh-key
--你输入的文件名
--第二个ssh-key


对了,所有的ssh-key文件名都是

id_rsa.pub


忘记ssh-key在哪里的时候’ssh-keygen’ 就可以看到目录了,但是不要重新新建一个哦!

ssh -T url
测试ssh是否连通了

ssh-key和github的deploy key的绑定

原来github的deploy_key分账号的deploy-key和库的deploy-key,为了方便,当然是直接设置账号deploy-key啊,这样对每个库都有权限,而且每个本地的ssh-key只能绑定一次(无论是库还是账号)。

这里有个大坑,虽然账号的deploy-key已经绑定了本地的ssh-key,但是手残把多新建一个ssh-key然后绑定了一个库,然后之后所有其它库都需要另外的ssh-key才能使用ssh协议,但是这样贼麻烦,弄了好久,发现只要把所有库的deploy-key都去掉就行,反正现在没有多人协同开发,不管了。

Github

连接远程库

git remote add 自定义id 库的url


上面的名字你随意写,库的url可以是https或者ssh格式,但是ssh格式,需要你添加ssh-key

git remote -v
查看已经绑定的远程库

git remote rename old_id new_id
重命名远程库

git remote remove id
解除连接远程库

branch操作

如果是克隆下来的库,有master分支,没问题

如果是init的库本地库,一开始没有master分支,需要先add文件(夹),自动生成master分支之后才可以新建分支

git branch
查看本地分支

git branch id
新建本地分支

git checkout branc_id
切换本地分支,尤其是当你要add file的时候,记住先切换到你想要的分支

{%asset_img 1.png%}

上图就是切换branch后的效果,当前branch会高亮

push操作

git push repo_id local_branch:remote_branch


repo_id是你自定义的库id

把remote_branch没有的话会自动新建

本地的branch其实就是不同文件夹

pull操作

git pull repo_id remote_bracn


可以把repo_id对应分支pull下来,已经pull过的会自动更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  github