【Git入门5】Git远程仓库 - GitHub常用操作流程1_配置

===================================

  • 本地仓库和远程仓库是完全隔开的
  • 代码存储在云端GitHub
  • SSH key验证身份 使用场景:可以避免我们重复的输入密码,提高开发效率;访问远程服务
  • 如果SSH key私钥(即.ssh文件夹中的id_rsa文件)被第三方获取,那么他将可以您的身份来操作 Git 仓库,这跟密码被盗一样严重

git远程仓库GitHub 常用操作流程

0. 前提

  1. 在GitHub上有一个账号
  2. git仓库在电脑上
  • 上传代码:私钥加密
  • GitHub用账号留下的公钥解密

1. 生成ssh key

第1步 运行命令

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码

第2步 三次回车,直到没有提示;然后

cat ~/.ssh/id_rsa_pub
复制代码

第3步 复制内容,去你GitHub主页>设置页面>SSH key...,标题填能表示清哪台电脑就行,填入公钥

ok

GitHub_SSH key帮助文档

2. 测试是否配置成功

第1步 运行 命令

ssh -T git@github.com
复制代码

第2步 确认GitHub给的公钥

不可敲回车,输入yes即可

第3步

看到Hi xxx! You've successfully authenticated...说明添加成功

3.注意

  • GitHub,别用HTTPS协议,每次要输密码不方便
  • 使用SSH key
  • 电脑-私钥 GitHub账号-公钥
  • 上传代码用私钥加密,github用公钥解密
  • 如果手贱已经生成HTTPS链接了,不方便用git remote add ...

可以设置:

git remote set-url origin git@github.com:yourName/***.git
复制代码

来修改之前的origin URL,是不是很鸡贼

4. 查看生成的SSH key密钥文件目录,备份

cd ~/.ssh
ll
复制代码
$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
复制代码
cp id_rsa id_rsa_bk
cp id_rsa.pub id_rsa_bk.pub
ll
复制代码

总结

1. 需要你复制的代码

ssh-keygen -t rsa -b 4096 -C 你的邮箱
cat ~/.ssh/id_rsa.pub # 得到公钥内容
ssh -T git@github.com
git remote add origin git@xxxxxxx
git push -u origin master
复制代码

2. 高级操作

touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc
复制代码

3. 最后 code ~/.bashrc 在文件最后加上

alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less"
复制代码

我的配置:

alias Glg="git log --color --graph --date=relative --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
复制代码

提问

有没有一种可以实现一键ga+gv "xxx"+gl+gp+gst的Combo技?

重复添加SSH key会如何?

会使你之前添加的key失效

·未完待续·


参考文章

高频使用的 Git 命令: 不是入门文档,官方文档肯定比我全面,这里是结合实际业务场景输出。

如果你看到 “access denied”:表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

GitHub添加SSH key时的问题

告诉你 ssh 的常见使用场景和配置

git:如何管理本机的多个ssh密钥

ssh keys自动化管理工具

在 Coding.net 添加公钥

Checking for existing SSH keys

Generating a new SSH key and adding it to the ssh-agent

相关文章

git 远程仓库.pdf


Image placeholder
CaptainAI
未设置
  48人点赞

没有讨论,发表一下自己的看法吧

推荐文章
【Git入门234】Git本地仓库常用操作流程2_分支相关操作_大总结

创建分支gitbranchgitbranchx 仅创建一个叫x的分支拷贝,不对代码进行任何变动 可以创造平行时间线x 术语叫“分支” 虚拷贝,引用 可以同时基于master/branchx开发

Git教程_2.5 Git 基础 - 远程仓库的使用

远程仓库的使用 为了能在任意Git项目上协作,你需要知道如何管理自己的远程仓库。远程仓库是指托管在因特网或其他网络中的你的项目的版本库。你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。与

etcd 常用操作介绍

安装 最简单的安装方法是直接去etcdGitHub的Release页下载预编译好的二进制文件。etcd官方为各个系统提供了不同的二进制文件,供开发者根据自己的系统去下载。 下载地址:https://g

etcd 常用操作介绍

安装 最简单的安装方法是直接去etcdGitHub的Release页下载预编译好的二进制文件。etcd官方为各个系统提供了不同的二进制文件,供开发者根据自己的系统去下载。 下载地址:https://g

太丢人了……GitHub 阿波罗11号代码仓库惨遭中文灌水

近日登上GitHub趋势热榜第一的阿波罗11号(Apollo11)代码仓库,获得了3万多标星称赞,但也同时惨遭中文灌水的侵扰,引发了众多网友的热议。50年前,三位宇航员搭乘阿波罗11号,完成人类第一次

玩转 GitHub Actions,简化 npm 发布流程

Github最近添加了一项名为GithubActions的新功能,为我们带来了一套强大的工作流系统,可以处理各种各样的任务。我们在发布Node.js包时可以使用Actions自动运行测试,然后自动将

Python入门教程_4. 深入 Python 流程控制

除了刚刚介绍的while语句,Python还有一些在其他语言中常见的控制流语句,并做了一些改动。 4.1.if语句 也许最著名的语句是if语句了。 例如: >>>x=int(input("Please

TPC-C解析系列01_TPC-C benchmark测试介绍

作者:阳振坤2019.10导语:自从蚂蚁金服自研数据库OceanBase获得TPC-C测试第一名后,引起了行业内外大量关注,我们衷心的感谢大家对OceanBase的支持与厚爱,也虚心听取外界的意见和建

【数据结构】1_进阶高手的大门

理解程序的本质问题:为什么会有各种各样的程序存在?程序的本质是什么?程序是为了解决实际问题而存在的,从本质而言,程序是解决问题的步骤描述。一小步的进阶:理解实际问题 确认问题类型 如:数值计算,求最

【数据结构】11_异常类构建

异常的类型可以是自定义类类型 对于类类型异常的匹配依旧是至上而下严格匹配 赋值兼容性原则在异常匹配中依然适用 一般而言 匹配子类异常的catch放在上部 匹配父类异常的catch放下下部 现代

3.4 Git 分支 - 分支开发工作流

现在你已经学会新建和合并分支,那么你可以或者应该用它来做些什么呢?在本节,我们会介绍一些常见的利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出这些典型的工作模式,你可以根据项目实际情况选

【Golang+MySQL】记一次 MySQL 数据库迁移(一)

【Golang+mysql】记一次mysql数据库迁移(一)文章地址:https://github.com/stayfoo/stayfoo-hub一、准备目标: 腾讯云CVM自建mysql数据迁移到腾

Git教程_2.1 Git 基础 - 获取 Git 仓库

假如你只能阅读一章来学习Git,本章就是你的不二选择。本章内容涵盖你在使用Git完成各种工作中将要使用的各种基本命令。在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停

Git教程_2.2 Git 基础 - 记录每次更新到仓库

记录每次更新到仓库 现在我们手上有了一个真实项目的Git仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件做些修改,在完成了一个阶段的目标之后,提交本次更新到仓库。 请记住,你工作目录下

大数据时代,数据湖并不能完全取代数据仓库

数据仓库为组织了解其历史业务表现和推动持续运营提供了一个接入窗口,为数据分析师和业务用户提供了诸如客户行为、业务趋势、运营效率和销售等方面的信息。尽管出现了基于Hadoop和其他一些大数据技术的数据湖

五个常用的Bash历史记录操作方式

众所周知,Bash历史记录里有许多快捷方式的记录,让人眼花缭乱。其实这些快捷方式使用起来,可以极大的提高我们学习和工作的效率。如果大家觉得这些方式很难记,可以循序渐进,每天只学一点内容,这样就能轻松掌

超8千Star,火遍Github的Python反直觉案例集!

大数据文摘授权转载作者:SatwikKansal译者:暮晨Python,是一个设计优美的解释型高级语言,它提供了很多能让程序员感到舒适的功能特性。但有的时候,Python的一些输出结果对于初学者来说似

面向回家编程!GitHub标星两万的”Python抢票教程”,我们先帮你跑了一遍

盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票。据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%。达到4.4亿人次,2020年铁路春运自1月10日开始,

Nginx 配置常用参数,看这一篇就够了

最近在全面学习Nginx,当作笔记了,如有错误,欢迎指出或深入交流。 主模块 #配置用户或者组,默认为nobodynobody。 #userwwwwww; #Nginx开启的worker进程数,

Nginx 配置常用参数,看这一篇就够了

主模块 #配置用户或者组,默认为nobodynobody。 #userwwwwww; #Nginx开启的worker进程数,建议为CPU的核数 #worker_processes2; #指定ngi

Ubuntu常用技巧:npm下载很慢的超简单解决方法

在使用npm下载时,速度特别特别慢,等了半小时还是纹丝不动:尝试了一些方法,效果不是很明显,最终发现一种简单有效的方法:1.终端输入命令,显示当前的镜像地址:npmgetregistry2.再输入命令

Ubuntu18.04 安装 MySQL 以及设置远程访问

安装MySQL sudoapt-getinstallmysql-server sudoaptisntallmysql-client sudoaptinstalllibmysqlclient-dev

估值 27.5 亿美元,GitLab“超车”GitHub

近日,知名代码托管平台GitLab宣布完成E轮2.68亿美元融资。据悉,本次融资由高盛银行和IconiqCappital牵头,包括YCombinatorContinuity基金。这可能是该公司上市前

GitHub 被墙后的生存之道

背景 从今天开始,陆陆续续看到很多小伙伴说Github登录不上去了,我当然也不例外,但对于我这样的重度Github使用者,这是无法接受的。 前提 首先SS是肯定可以解决我们的访问问题的,但是这里我不会

最流行的 Go Web 框架: GitHub Star 数量排行(2019)

搜索到了这个资源,可以一目了然地看到GitHub上GoWeb框架受欢迎程度,分享给大家。项目名称 GitHubStar数 创建年份 gin 33177 2014 beego 22599 2012 ir