Github是目前世界上最流行的代码存储和分享平台,而PyCharm是Python圈中最流行的IDE,它很好地支持了Git操作。本文将会介绍如何利用PyCharm来连接Github,同时演示Github上的仓库新建、更新,以及代码回滚。
  在这之前,需要在你的电脑上安装Git,PyCharm。本文演示的系统为Windows系统,首先我们先从设置讲起。

PyCharm设置

  我们假定在电脑上已经安装了Git以及PyCharm。下面演示如何设置PyCharm,使其能够连接上Github。
  首先我们先创建一个Python项目:Github_from_PyCharm,该项目只含有一个README.md文件,为了演示方便。如下图所示:

  接着我们设置PyCharm,打开File --> Settings --> Version Control,点击Git,在右侧的Git路径会自动选择你系统中安装的Git路径,点击Test按钮可以查看其是否生效。如果弹出的窗口显示"Git executed successfully",则表明Git设置成功。如下图所示:

  接着我们设置Github账号连接。在同样的界面,点击Github,Auth Type选择“Password”,在输入你的Github账号、密码即可。笔者连接Github账号成功后的界面如下:

这样我们就设置好了。接下去,我们看看如何利用PyCharm来创建新的Github仓库并上传该项目。

Github仓库新建

  我们以刚才创建的Github_From_PyCharm项目为例,演示如何将该项目上传至Github。在菜单栏上的“VCS”中选择“Import into Version Control”, 在选择“Share Project on Github”,如下图:

在弹出的弹框中输入Github中新建仓库的名字以及仓库描述,如下图:

再点击share按钮后,选择需要提交的文件,我们在这里选择.idea文件以及README.md即可,并且需要输入提交信息(Commit Message)。

静静地等待后台操作一会儿,然后你的本地项目就会出现在Github上了,神奇!

仓库更新

  接下演示如何将本地修改后的文件上传至Github。将README.md文件中的“Version”改为2.0. 然后右击该项目,选择Git,再选择“Commit Directory”,如下图:

在弹出的弹框中选择需要提交的文件,笔者选择了两个文件,在下方的Diff框中可以看到提交后的新文件与旧文件的差别,如下图:


在Commit按钮中,点击旁边的小按钮,选择Commit and Push。稍等一会儿会在PyCharm中弹出push成功的信息,这时候我们再去Github上查看该项目,发现文件已经更新了,神奇!

代码回滚

  为了演示如何利用PyCharm将Github上的代码进行回滚,我们再进行一次提交,这次将Version改为3.0,并按照刚才仓库更新的步骤进行提交。在PyCharm的左下角的Version Control中可以查看到三次提交的记录,如下图:


这时Github上的该项目的README.md文件如下图:

接着我们演示如何进行代码回滚。我们需要将项目的内容从第三次提交的变成第二次提交的,即Version从3.0变成2.0,操作如下:

  1. 右击项目,选择“Local History”,再选择“Show History”;
  2. 在弹出来的弹框中,选择最近一次的提交,并且右击选择“Revert”,这时文件README.md中的Version;
  3. 再按照仓库更新的步骤进行一次提交即可。


  本次分享到此结束,感谢大家阅读~
  进来笔者深感Git方面的知识匮乏,因此决定先从简单的Github, Gitlab与PyCharm的联系着手学习Git,接下来将会系统地学习Git,也希望能分享给更多的人。

利用PyCharm操作Github:仓库新建、更新,代码回滚的更多相关文章

  1. 利用PyCharm操作Github(二):分支新建、切换、合并、删除

      在文章利用PyCharm操作Github:仓库新建.更新,代码回滚中,我们已经学习到了如何利用PyCharm来操作Github,其中包括了一些常见的Github操作:仓库的新建.更新以及代码回滚. ...

  2. Pycharm和IDEA利用Git操作Github仓库

    1. Git Bash 选择一个本地代码仓库文件夹:D:/Github_Code/新建文件夹,然后在此目录打开git bash 依次进行: git init //首次需执行,之后可不用 git add ...

  3. git从远程仓库中更新代码到本地仓库

    git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...

  4. git代码回滚:Reset、Checkout、Revert的选择

    代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...

  5. svn代码回滚命令

    代码回滚提交: 比如要把73回滚到68 svn merge -r 73:68 http://my.repository.com/my/project/trunk 然后commit就行了 svn com ...

  6. 代码回滚:Reset、Checkout、Revert的选择

    代码回滚:Reset.Checkout.Revert的选择 Git仓库有三个主要组成——工作目录,缓存区和提交历史. 从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也 ...

  7. 6.Git代码回滚

    1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...

  8. Docker Swarm(八)滚动更新、回滚服务

    滚动更新.回滚服务 默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过: # 定义并行更新的副本数量--update-parallelism# 定义滚动更新的时间间 ...

  9. gitlab基础命令之代码回滚

    #:gitlab状态 root@ubuntu:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 1 ...

随机推荐

  1. 构建 DNS 主从复制服务器

    一.主节点配置 1.yum install bind -y 安装 DNS 服务 2.vim /etc/named.conf 编辑 DNS 的配置文件 3.named-checkconf 检查配置文件 ...

  2. 记一个vue-resource请求的低级错误

    对于初学的小菜鸡,经常会犯一些低级错误. 现在记录一下我在使用vue-resource发送post请求时的一个低级错误: window.BaseURL = '127.0.0.1:8888'; 8888 ...

  3. TraceID在AspNETCore日志排障中的应用

    前言 .NetCore日志,相信大家多少都接触过,博客园有关 ① AspNetCore依赖注入第三方日志组件   ②第三方日志组件Nlog,Serilog 应用方法的博文层出不穷. 结合程序的部署结构 ...

  4. JS三座大山再学习(三、异步和单线程)

    本文已发布在西瓜君的个人博客,原文传送门 前言 写这一篇的时候,西瓜君查阅了很多资料和文章,但是相当多的文章写的都很简单,甚至互相之间有矛盾,这让我很困扰:同时也让我坚定了要写出一篇好的关于JS异步. ...

  5. scrapy项目部署

    什么是scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. 特点: 可以避免爬虫源码被看到. 有版本 ...

  6. Java中的compareTo()方法,compareToIgnoreCase()方法

    1.compareTo(String)方法: Java中String类有一个compareTo方法,该方法返回一个int类型的数据.其比较规则是:拿出字符串的第一个字符与参数的第一个字符进行比较,如果 ...

  7. 金蝶天燕中间拒绝put、delete请求解决方案

    项目要求支持国产化,那就国产化呗!使用金蝶天燕中间件替代weblogic,一切部署好后发现所有以put.delete请求的按钮全部无效,原因是中间件配置文件默认拒绝put.delete请求 解决方案为 ...

  8. 你不知道的setTimeout第三个参数

    你不知道的setTimout第三个参数 说起setTimeout,各位再熟悉不过,用法也很简单:setTimeout(fun, delay). 但说起来你可能不信,用了这么多年的setTimeout居 ...

  9. 【RN - 基础】之FlexBox弹性布局

    前言 弹性盒模型(The Flexible Box Module),又叫FlexBox,意为“弹性布局”,旨在通过弹性的方式来对齐和分布容器中内容的空间,使其能适应不同的屏幕,为盒装模型提供最大的灵活 ...

  10. 一个http请求的详细过程

    一个http请求的详细过程 我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切. 首先http是一个应用层的协议, ...