004. github使用
github的使用
GitHub是一个git版本库的托管服务,GitHub是目前全球最大的软件仓库,拥有上班玩的开发者用户,也是软件开发和寻找资源的最佳途径,GitHub不仅可以托管各种git版本参控股,还拥有更美观的web界面,代码文件可以被克隆,让开发者为开源项目贡献代码变得更加容易,同时也提供了付费购买私有仓库.
使用方法: https://blog.oldboyedu.com/git
github用法
注册用户


github创建仓库





使用仓库:
1. 进入目录
git init [第一次使用需要初始化一次.]
2. 创建推送文件
[root@master leilei]# echo "leilei - 2019.12.5 test" >> README.md
[root@master leilei]# cat README.md
leilei - 2019.12.5 test
--------------------------------------------
3. 提交文件到暂存区:
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:chenleilei90/leilei.git #为本地仓库连接到远程仓库
执行后提示:
======
[root@master leilei]# git push -u origin master
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? 填yes即可
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights ##推送失败,权限拒绝,因为通过的ssh推送的. ssh并没有做认证,所以失败了.
and the repository exists.
======
4. 配置ssh授权:
4.1. 生成sshkey:
[root@master leilei]# ssh-keygen -t rsa #生成rsa认证密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #回车
Enter passphrase (empty for no passphrase): #回车
Enter same passphrase again: #回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:aJ4RRvvqxKf7GVDKQesScH+N+62P9VuADxNphHqDEZs root@master
The key's randomart image is:
+---[RSA 2048]----+
| . . o .. .. |
| o + o.=.. . |
| . B E+. + |
| = Oo.o. o |
| . O S. .+ . |
| = = . . + . |
| * o . o . .|
| o o o + . . |
| +oo o.. o. |
+----[SHA256]-----+
#经过密钥生成后,在家目录的.ssh/ 目录会生成密钥文件:
[root@master leilei]# ll /root/.ssh/
total 12
-rw------- 1 root root 1675 Dec 15 22:01 id_rsa
-rw-r--r-- 1 root root 393 Dec 15 22:01 id_rsa.pub
-rw-r--r-- 1 root root 406 Dec 15 21:58 known_hosts
4.2. 将公钥推填写到github上:
[root@master leilei]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxrFM7DK6nufZBOBohX0719ppOekhOdEY9NCmqx6q7xIAlXCnuLKeI8MiGbYXYSuN3qy/YPd4We4Ni78ASjYc/14ia506rhQjxi6FLqDLylYKAXc1xOx/JX+27eQc14/GPD9dTdFS1OunkFW0a3TqiVA36p94z0hrzGNFKkqk5Zs02TF97qQDXndtzw+1RgR5BQ9DeNxjlZFmWS861akHIHas+G8I5tWIwu5uY/rswlZWVYQqZuD9wgWl87ZlsnZuVinx5spXpvUl2ESJ2jBr+P1yqT44z+rO5NkV0o7rSzVACx2Dfn/pFkW5OyvIZrC6MqeCddkD7H7eQx54Im9ah root@master
4.3. 在github中的设置里添加ssh密钥:
步骤见下图
5. 在命令行中推送资源到github:
git push -u origin master #将刚才添加到暂存区的文件同步到github上.
[root@master leilei]# git push -u origin master #[这个时间很长..]
Counting objects: 5, done.
Writing objects: 100% (3/3), 261 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:chenleilei90/leilei.git
a381abd..019f126 master -> master
Branch master set up to track remote branch master from origin
5.1 总结推送资源到仓库:
git remote add origin git@github.com:chenleilei90/leilei.git
git push -u origin master
重新推送一次:
[root@master leilei]# echo "chenleilei qq 370460370" >>chenleilei
[root@master leilei]# git add chenleilei
[root@master leilei]# git commit -m "chenleilei tijiao de test"
[master e4aaaba] chenleilei tijiao de test
1 file changed, 1 insertion(+)
create mode 100644 chenleilei
[root@master leilei]# git push -u origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:chenleilei90/leilei.git
019f126..e4aaaba master -> master
Branch master set up to track remote branch master from origin.
5.2 截图看下面:
第三步截图:
在github中的设置里添加ssh密钥:




5.2 推送结果截图:

内容:

测试推送:
#推送资源总结
1. github中添加sshkey
服务器生成key:
[root@master leilei]# ssh-keygen -t rsa
[root@master leilei]# ll /root/.ssh/
total 12
-rw------- 1 root root 1675 Dec 15 22:01 id_rsa
-rw-r--r-- 1 root root 393 Dec 15 22:01 id_rsa.pub
-rw-r--r-- 1 root root 406 Dec 15 21:58 known_hosts
2. 复制key中的文件信息:
root@master leilei]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxrFM7DK6nufZBOBohX0719ppOekhOdEY9NCmqx6q7xIAlXCnuLKeI8MiGbYXYSuN3qy/YPd4We4Ni78ASjYc/14ia506rhQjxi6FLqDLylYKAXc1xOx/JX+27eQc14/GPD9dTdFS1OunkFW0a3TqiVA36p94z0hrzGNFKkqk5Zs02TF97qQDXndtzw+1RgR5BQ9DeNxjlZFmWS861akHIHas+G8I5tWIwu5uY/rswlZWVYQqZuD9wgWl87ZlsnZuVinx5spXpvUl2ESJ2jBr+P1yqT44z+rO5NkV0o7rSzVACx2Dfn/pFkW5OyvIZrC6MqeCddkD7H7eQx54Im9ah root@master
3. 打开github [https://github.com/settings/keys]
3.1 点击 "New SSH key" 按钮 添加新的密钥
3.2 Title 随便写
3.3 key 填写 cat /root/.ssh/id_rsa.pub 中的信息, 然后点击 "Add SSH key" 按钮来添加key信息
4. linux中初始化一个仓库,然后推送数据.
[root@master ~]# cd /leilei
[root@master leilei]# git init #初始化仓库
[root@master leilei]# echo "chenleilei qq 370460370" >>chenleilei
[root@master leilei]# git add chenleilei
[root@master leilei]# git commit -m "chenleilei tijiao de test"
[root@master leilei]# git push -u origin master
5. 进入自己的git检查数据是否推送:
https://github.com/[用户名]/[项目名]
如:
https://github.com/chenleilei90/leilei
# 注意推送不上去[首先pull下来,然后再推送]
git clone 下载代码

复制连接后 在服务器上 克隆一份代码
git clone [复制的代码连接]
如:
git clone git@github.com:chenleilei90/leilei.git
clone测试:
1. 进入一个新目录
2. 执行git clone git@github.com:chenleilei90/leilei.git
3. 检查是否是我们推上去的代码
[root@master leilei]# mkdir /test
[root@master leilei]# cd /test/
[root@master test]# ls
[root@master test]# git clone git@github.com:chenleilei90/leilei.git
Cloning into 'leilei'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0
Receiving objects: 100% (15/15), done.
[root@master test]# ls
leilei
[root@master test]# ls leilei/
chenleilei README.md
##验证
[root@master test]# cat leilei/chenleilei #查看是否是我们写的代码
chenleilei qq 370460370
git推送
代码克隆下来后默认会添加一个远程仓库.
[root@master leilei]# git remote
origin
#创建文件推送到远程仓库
[root@master leilei]# touch aa
[root@master leilei]# git add .
[root@master leilei]# git commit -m "lalala"
[master 68b0044] lalala
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 aa
[root@master leilei]# git push -u origin master #推送
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:chenleilei90/leilei.git
e4aaaba..68b0044 master -> master
Branch master set up to track remote branch master from origin.
现在去仓库看看是否推成功.

这样配置后,我们任何时候修改文件,都可以推送文件了.
多人协作时 推送文件
用户通过 git clone 了相关代码改动后,远程文件只有与本地文件的版本相同才可以进行推送.
如果 A用户 git clone了一份代码 B用户也 git clone 了一份代码. A已经修改过然后提交了. B修改后提交会出现报错.
原因是 A用户已经提交过一次,提交后的代码与B用户最初下载的代码不同.所以无法推送,如果需要推送. B用户需要重新git clone一份到本地 修改后再次提交才可以.
多分枝协同推送:
git fetch # 最新内容拉取到本地
git merge origin/master #让远程与本地合并
git push -u origin master #然后本地修改后推送到远程合并.
只要是没办法推上去因为本地仓库与远程不一致,这时候就需要重新拉取到本地,然后再进行合并.
004. github使用的更多相关文章
- 搜刮一些开源项目的APP
iOS完整App资源收集 <iOS完整app资源收集> <GitHub 上有哪些完整的 iOS-App 源码值得参考?> <GitHub 上有哪些完整的 iOS-App ...
- 139.00.004 Git学习-远程仓库之Github
参考Github官方HelloWorld入门教程 "有了远程仓库,妈妈再也不用担心我的硬盘了."--Git点读机 本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二 ...
- [Git] 004 初识 Git 与 GitHub 之查看历史记录
在 GitHub 的 UI 界面使用 Git 查看历史纪录 1. 右侧有个 history 2. 点击后跳转页面 3. 点击相应标题(commit 时写的),进入相应版本(历史) 4. 我选择了 I ...
- GitHub的操作
一.查看自己的信息:git config --list 修改config文件:01.输入vim ~/.gitconfig(回车) 02.点击 i.o或a 进入编辑模式 03.修改所要修改的信息 04. ...
- GIT \ SVN 版本管理 git + gitHub
场景1 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件"另存为--"一个新的Word文件,再接着改,改到一定程度,再"另存为--"一个新 ...
- jenkins + maven + nexus + [ svn 或 GitLab 或 GitHub ]
目录 介绍 DevOps平台四大模块 针对DevOps开源项目 Jenkins 介绍 Maven 介绍 maven的核心概念介绍 SVN介绍 Nexus介绍 Maven私服的 个特性: 流程图 环境搭 ...
- 【原】Github+Hexo+NextT搭建个人博客
摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...
- TODO:GitHub创建组织的步骤
TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- 清空Github上某个文件的历史版本
title: 清空Github上某个文件的历史版本 author: 青南 date: 2015-01-08 16:04:53 categories: [经验] tags: [Github,histor ...
随机推荐
- HTC vive开发:关于手柄按键对接控制
一.关于左右手柄的对应关系 两个手柄和SteamVR_TrackedObject.EIndex是对应的,一个是EIndex.Device2,另一个是EIndex.Device3(有编号的那个) 在场景 ...
- 剑指 Offer II 018(Java). 有效的回文(简单)
题目: 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写. 本题中,将空字符串定义为有效的 回文串 . 示例 1: 输入: s = "A man, ...
- 了解3D世界的黑魔法-纯Java构造一个简单的3D渲染引擎
简介: 对于非渲染引擎相关工作的开发者来说,可能认为即使构建最简单的3D程序也非常困难,但事实上并非如此,本篇文章将通过简单的200多行的纯 Java代码,去实践正交投影.简单三角形光栅化.z缓冲(深 ...
- 为什么我要迁移 SpringBoot 到函数计算
简介: 面对流量洪峰,我们再也不会手忙脚乱了,函数计算自动会帮我们扩容!很好的解决了我们的 API 场景和不定时执行各种不同任务的场景. 作者:榴莲 为什么要迁移? 我们的业务有很多对外提供服务的 ...
- 实时计算pv/uv Demo
简介: 本文由阿里巴巴高级技术专家邓小勇(静行)分享,主要用 Demo 演示如何通过实时计算 Flink 实时计算pv/uv的场景. 本文由阿里巴巴高级技术专家邓小勇(静行)分享,主要用 Demo 演 ...
- 创新推出 | Serverless 场景排查问题利器:函数实例命令行操作
简介: 实例命令行功能的推出希望能消除用户使用 Serverless 的"最后一公里",直接将真实的函数运行环境展现给用户,此后 Serverless 将不再是一个"黑 ...
- 【实用教程】在配备持久内存的实例上部署Redis应用
简介:配备持久内存的实例(例如re7p.r7p.re6p)提供了超大CPU内存配比,Redis应用运行在这类实例上可以大幅度降低单GiB内存的成本.本文以部分操作系统为例,介绍如何在这类实例上快速部署 ...
- 13.prometheus监控tengine(无用)
一.环境准备 1.1 docker安装tengine带nginx-module-vts模块(二选一) mkdir /data/ -p cd /data/ # 通过git clone下载已经创建好的do ...
- kubeadm安装多master节点的k8s集群(1)
一.环境准备 k8s集群角色 IP 主机名 安装的相关组件 控制节点 192.168.1.10 master apiserver.controller-manager.scheduler.kubele ...
- git将本地项目关联远程仓库并上传到新分支
混合项目开发,项目交接的时候没做好,新入职接手老项目的时候一脸懵逼,进入开发阶段时,越搞越不对,越搞越不对,总感觉 本地跑的项目和己方测试环境以及客户的测试环境和目标环境不一致,结果发现着手的两套代码 ...