一、简介

  Git是目前使用最广泛的分布式版本控制系统,通过Git可以方便高效地管理掌握工作过程中项目内容文件的更新变化情况,通过Git我们可以以命令行的形式完成对Github上开源仓库的clone,以及对自己仓库的管理,本文就将针对使用Git管理Github远程仓库的基本方法进行介绍。

二、通过Git向远程仓库推送内容

2.1 准备工作

  首先我们通过自己的Github账号创建一个新的远程仓库,名字随便起,这里为demo:

  接着我们在本地指定位置创建文件夹作为仓库的根目录,如这里的我们叫demo,打开Git Bash,cd到仓库根目录:

  我们在demo目录下随便创建一个新的文件readme.txt,在里面随意写一些内容,注意windows下不要使用记事本编辑仓库下的txt文件,可以在notepad++ utf-8 without dom模式下来编辑保存txt文件:

  接下来我们使用git init命令来初始化这个仓库:

  使用git status命令查看仓库状态:

  可以看到仓库成功初始化,并且我们当前的目录处于master分支下

2.2 提交文件至暂存区

  2.1的最后我们使用git status命令后输出的结果中readme.txt是红色的代表该文件未被提交,使用git add 文件名命令来添加当前路径下的指定文件,单个文件时文件名即要添加的文件,多个文件可以用空格分隔多个文件名,输入.则代表当前目录下所有文件,下面我们将当前目录下全部文件添加到暂存区:

  没有内容打印出来则代表添加成功,接着使用git commit -m "说明内容"来将当前暂存区内的文件提交到本地仓库,说明内容部分用于添加方便之后查看的描述内容:

  使用git log可以查看提交日志:

  这样我们就完成了对本地仓库的一次提交。

2.3 推送至远程仓库

  接下来我们将本地仓库内容推送至Github上托管的远程仓库,首先需要在Github上添加公钥,在本地Git执行命令ssh-keygen -t rsa -C "GitHub账号",引号内填入你的Github用户名称,执行之后一路按enter直到执行结束(部分内容我已作打码处理):

  找到公钥地址,即上图中红框内的部分,将其复制下来作为公钥地址,再在Git中执行cat 公钥地址,这样粘贴板中就已有了我们需要的公钥,在Github的Settings内找到以下内容:

  点击New SSH key添加公钥,这里title非必须不用管:

  添加成功之后,到Github对应远程仓库主页复制下图红框内的信息:

  在Git中执行git remote add origin 从Github复制到的信息

  没有内容表示关联远程仓库成功,接下来执行命令git push -f -u origin master便可完成本地仓库向远程仓库的推送:

  这时查看Github上的远程仓库可以看到对应的文件已经成功的被推送至远程仓库:

  这时如果想要提交新的文件只需要参照下面的操作即可:

touch README.md
git add README.md
git commit -m "这是第二次提交"
git push -f -u origin master

  对应的便出现了新推送的内容:

三、通过Git删除远程仓库中的内容

  通过Git删除远程仓库中的内容则比较方便,譬如这里我们将最后一次添加的md文件删除,首先执行git rm --cached README.md

  接着向本地仓库提交本次操作:

  最后向远程仓库推送本次操作:

  这时再查看远程仓库中的内容,可以发现操作已同步:

  

  以上就是本文的全部内容,如有笔误望指出!

(数据科学学习手札67)使用Git管理Github仓库的更多相关文章

  1. (数据科学学习手札75)基于geopandas的空间数据分析——坐标参考系篇

    本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的数据结 ...

  2. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  3. (数据科学学习手札50)基于Python的网络数据采集-selenium篇(上)

    一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文 ...

  4. (数据科学学习手札49)Scala中的模式匹配

    一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹 ...

  5. (数据科学学习手札47)基于Python的网络数据采集实战(2)

    一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...

  6. (数据科学学习手札44)在Keras中训练多层感知机

    一.简介 Keras是有着自主的一套前端控制语法,后端基于tensorflow和theano的深度学习框架,因为其搭建神经网络简单快捷明了的语法风格,可以帮助使用者更快捷的搭建自己的神经网络,堪称深度 ...

  7. (数据科学学习手札42)folium进阶内容介绍

    一.简介 在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些 ...

  8. (数据科学学习手札40)tensorflow实现LSTM时间序列预测

    一.简介 上一篇中我们较为详细地铺垫了关于RNN及其变种LSTM的一些基本知识,也提到了LSTM在时间序列预测上优越的性能,本篇就将对如何利用tensorflow,在实际时间序列预测任务中搭建模型来完 ...

  9. (数据科学学习手札36)tensorflow实现MLP

    一.简介 我们在前面的数据科学学习手札34中也介绍过,作为最典型的神经网络,多层感知机(MLP)结构简单且规则,并且在隐层设计的足够完善时,可以拟合任意连续函数,而除了利用前面介绍的sklearn.n ...

随机推荐

  1. Mybatis使用动态sql

    动态sql 常见的几种:trim.where.set.foreach.if.choose.when 下面通过案例一一演示 if语法 <select id="selectIfTest1& ...

  2. SpringBoot底层原理及分析

    一,Spring Boot简介 1.什么是Spring Boot: SpringBoot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特 ...

  3. QScintilla下载与编译

    你好,我是大贺! Pou光明  大家好,我又回来了~~ 之前和大家分享的是在c/c++中通过python c api嵌入python解释器,主体都是和python相关的.其实最终要和大家分享的是如何做 ...

  4. 用机智云做PWM占空比控制电机,物联网智能家居应用

      因为是新申请的博客,所以申请了总想往里面加点东西,所以把我之前在机智云写的帖子复制了过来 (各位抱歉,由于之前上传的文件可能有错误,之前上传的文件PWM不能用,那么我又重新上传了一个文件,这个文件 ...

  5. macOS 安装配置yaf框架 生成yaf项目

    macOS 安装配置yaf框架 Yaf只支持PHP5.2及以上的版本. 并支持最新的PHP5.3.3 Yaf需要SPL的支持. SPL在PHP5中是默认启用的扩展模块 Yaf需要PCRE的支持. PC ...

  6. Java模拟并解决缓存穿透

    什么叫做缓存穿透 缓存穿透只会发生在高并发的时候,就是当有10000个并发进行查询数据的时候,我们一般都会先去redis里面查询进行数据,但是如果redis里面没有这个数据的时候,那么这10000个并 ...

  7. linux环境下搭建自动化Jenkins管理工具

    一.搭建一个jak--tomcat服务器到自己的linux服务器上 具体的服务器搭建这里可以参考华华大佬的博客:https://www.cnblogs.com/liulinghua90/p/46614 ...

  8. .Net Core in Docker - 使用阿里云Codepipeline及阿里云容器镜像服务实现持续集成(CI)

    前面已经介绍过了 .Net Core 程序发布到 Docker 容器的内容.但是每次通过 SSH 链接到服务器敲命令,运行脚本也是挺麻烦的一件事.程序员是最懒的,能让电脑解决的问题绝不手动解决,如果当 ...

  9. 数据结构之堆栈C++版

    /* 堆栈本身就是一种线性数据结构,说白了他与容器线性表是一种数据类型,不要认为他多高大上. 实时上他还没有线性表复杂,下面简单的实现一下堆栈. 事实上整个核心操作都是在操作指向堆栈的顶部元素的指针 ...

  10. python3学习--文件读写

    这一篇我们来看文件读写操作. 打开和创建文件主要是open()函数: f = open('filename','r') # 读模式 f = open('filename','w') # 写模式 f = ...