Git与GitHub的快速使用
Git的快速使用
1. Git简介
Git最初是Linus花了两周时间自己用C写了一个分布式版本控制系统
特点:
- 分布式,每一个主机都有完整版本库
- 开源免费性能好
注:类似GitHub这种中心环境的存在是为了交换方便,换言之,即使不存在这种中心设备,Git也是可以正常使用的
2. Git安装
笔者使用OS是CentOS Linux,Git的安装命令为
yum install git
3. 创建仓库
创建新文件夹
mkdir daily-scripts
cd daily-scripts/
初始化Git仓库
git init
添加文件到目录中
mv ../POI聚类分析.ipynb POI聚类分析.ipynb
添加文件到仓库
git add POI聚类分析.ipynb
添加文件夹
git add jupyter-note-book/
添加多个文件(夹)
git add jupyter-note-book/ python-file/
注意:Git是不允许提交一个空的目录到版本库上的
提交文件到仓库
git commit -m "Add a file POI聚类分析.ipynb"
解释:
Git的工作流如图所示:

第一次add命令将改动添加到缓冲区,第二次的commit命令将改动添加到版本库中
- m "..." 表示此次提交的版本的描述信息
4. 添加远程库
笔者在GitHub上创建了一个仓库daily-scripts
根据Github的提示,可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库
git remote add origin https://github.com/zhnny/daily-scripts.git
下一步,就可以把本地库的所有内容推送到远程库上:
git push -u origin master
注意:第一次push的时候,提示输入用户名和密码,需要去GitHub的Settings中去生成Token
关于连接远程仓库使用的ssh key和Token,具体可参考博客[GitHub使用Personal access token]
push完成后,GitHub中对应的repo中就有一个相同的仓库了
GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作
5. 克隆远程库
克隆GitHub上的仓库
git clone https://github.com/zhnny/PyTorch-Learning-Note.git
Git支持多种协议,包括https,但ssh协议速度最快
ssh协议需要设置公钥,https不需要,但是https在push时要Token
以下步骤将引导完成生成SSH密钥并将公钥添加到GitHub帐户,(参考Checking for existing SSH keys - GitHub Docs)
cd到home目录
cd ~
查看是否存在密钥(如果存在密钥可以上传)
ls .ssh/
生成密钥(使用GitHub电子邮箱替换)
ssh-keygen -t ed25519 -C "your_email@example.com"
接下来一直默认就好,除非你知道你在做什么
复制公钥
cat .ssh/id_ed25519.pub
将公钥粘贴到你的GitHub账户Settings中的SSH keys中

完成ssh key配置后就可以使用ssh协议克隆repo
git clone git@github.com:zhnny/PyTorch-Learning-Note.git
push时也可以直接使用ssh协议
git push git@github.com:zhnny/PyTorch-Learning-Note.git
而不必再使用Token
6. 参考资料
Checking for existing SSH keys - GitHub Docs
从远程库克隆 - 廖雪峰的官方网站 (liaoxuefeng.com)
GitHub使用Personal access token - 小旭2021 - 博客园 (cnblogs.com)
Git与GitHub的快速使用的更多相关文章
- git和github新手快速操作流程
git和github新手快速操作流程 本文主要介绍利用git版本控制将项目托管到远程仓库github上的一般性操作流程,为了给正在学习git的同学们一个小小的参考,以便更轻松的去深入学习git,本文所 ...
- 转:sublime上使用git连接github
"工欲善其事,必先利其器." 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一.从大学开始写Java使用了JBuilder,Eclipse,后来写PHP用了Zend,写Ja ...
- linux下git以及github的连接与使用
简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...
- WebStorm和sublime上使用git连接github(转)
WebStorm使用git连接github的方法: 用webstorm上传代码时,首先要先下载git,网址一搜就可以搜到,安装git,并且把ssh配置到github上.然后开始配置webstorm,打 ...
- 关于Git和Github你不知道的十件事
Git 和 GitHub都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不知道每个细节.我整理了Git和GitHub可能提高日常效率的10个常用技巧. GitHub 快捷键: t 和 w ...
- Tools - Git与GitHub
Git Wiki - Git 开源的分布式版本控制系统,用于敏捷高效地管理项目版本. Git - HomePage Git - CHEAT SHEET git_cheat_sheet.pdf GitH ...
- git与github
Git-版本控制,多人协作,分布式: Github-开源项目,远程仓库: 我在github上建立了一个仓库 https://github.com/abcd/2016ife: 现在我要把它下载到本地: ...
- Git和Github的应用与命令方法总结
title: Git和Github的应用与命令方法总结 date: 2016-07-11 14:03:09 tags: git/github [本文摘抄自微信公众平台:AndroidDeveloper ...
- 关于Git和Github
英文原文:Ten Things You Didn't Know Git And GitHub Could Do Git 和 GitHub 都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不 ...
- 使用git和github管理自己的项目---基础操作学习[转]
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...
随机推荐
- 【离线数仓】Day02-用户行为数据仓库:分层介绍、环境搭建(hive、tez)、LZO压缩、建表查询导入加索引、编写脚本
一.数仓分层概念 1.为什么要分层 ODS:原始数据层 DWD层:明细数据层 DWS:服务数据层 ADS:数据应用层 2.数仓分层 3.数据集市与数据仓库概念 4.数仓命名规范 ODS层命名为odsD ...
- .NET 6配置EF Core数据库链接字符串
appsetting.json { "Logging": { "LogLevel": { "Default": "Informat ...
- python进阶之路2——解释器软件安装
内容概要 计算机五大组成部分 计算机三大核心硬件 操作系统 编程与编程语言 编程语言发展史 编程语言的分类 python解释器下载与安装 python解释器多版本共存 pycharm安装 计算机五大组 ...
- ansible离线安装k8s v1.25版本
Kubernetes v1.25 企业级高可用集群自动部署(离线版) 注:确保所有节点系统时间一致 操作系统要求:CentOS7.x_x64 1.找一台服务器安装Ansible # yum insta ...
- NOIP2018 解题报告
NOIP2018 解题报告 前记 在本届noip,作为第一年参加提高组的我,感受到了各位大佬神仙恐怖如斯的实力.身在弱省,但是依旧难以取得成绩,果然oi赛场,菜是原罪 好了,到了赛后,还是总结一下题目 ...
- 再讲Floyd变形:传递闭包类问题
题目 今天上课老师讲到一道传递闭包的问题,由于蒟蒻之前讲的不详细再来讲一遍. 传送门 思路 建图,注意是有向图. 能确定名次指的是:在图上由这个点可以到达的点数+在图上可以到达这个点的点数=n-1 对 ...
- vue+div.canvas图像标注功能实现
main.js import Vue from 'vue' import 'vueui-widgets/dist/index.css' import VueUI from 'vueui-widgets ...
- margin-left:auto的妙用
问题描述 如上图所示,我们需要将上述三个标签右对齐,就像上图是要达到的效果,一般采用的方法是对每个标签设置margin-left这样就需要设置三个值. 当文字变长或者变成英文的时候又需要重新设置,否则 ...
- 使用字节流丢读取中文的问题-Reader类
使用字节流丢读取中文的问题 当使用字节流读取文本文件时,可能会有一个小问题.就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储.所以Java提供一些字符流类,以字符为 ...
- Python 异步集群使用
目前在做Python项目用到同步和异步的方法使用Redis单机,现在要增加兼容Redis集群.也就说当前项目用到中以下4种Python使用Redis的方法都用到了. - 同步 异步 单机 涉及 涉及 ...