利用PyCharm操作Github:仓库新建、更新,代码回滚
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,操作如下:
- 右击项目,选择“Local History”,再选择“Show History”;
- 在弹出来的弹框中,选择最近一次的提交,并且右击选择“Revert”,这时文件README.md中的Version;
- 再按照仓库更新的步骤进行一次提交即可。



本次分享到此结束,感谢大家阅读~
进来笔者深感Git方面的知识匮乏,因此决定先从简单的Github, Gitlab与PyCharm的联系着手学习Git,接下来将会系统地学习Git,也希望能分享给更多的人。
利用PyCharm操作Github:仓库新建、更新,代码回滚的更多相关文章
- 利用PyCharm操作Github(二):分支新建、切换、合并、删除
在文章利用PyCharm操作Github:仓库新建.更新,代码回滚中,我们已经学习到了如何利用PyCharm来操作Github,其中包括了一些常见的Github操作:仓库的新建.更新以及代码回滚. ...
- Pycharm和IDEA利用Git操作Github仓库
1. Git Bash 选择一个本地代码仓库文件夹:D:/Github_Code/新建文件夹,然后在此目录打开git bash 依次进行: git init //首次需执行,之后可不用 git add ...
- git从远程仓库中更新代码到本地仓库
git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...
- git代码回滚:Reset、Checkout、Revert的选择
代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...
- svn代码回滚命令
代码回滚提交: 比如要把73回滚到68 svn merge -r 73:68 http://my.repository.com/my/project/trunk 然后commit就行了 svn com ...
- 代码回滚:Reset、Checkout、Revert的选择
代码回滚:Reset.Checkout.Revert的选择 Git仓库有三个主要组成——工作目录,缓存区和提交历史. 从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也 ...
- 6.Git代码回滚
1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...
- Docker Swarm(八)滚动更新、回滚服务
滚动更新.回滚服务 默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过: # 定义并行更新的副本数量--update-parallelism# 定义滚动更新的时间间 ...
- gitlab基础命令之代码回滚
#:gitlab状态 root@ubuntu:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 1 ...
随机推荐
- 构建 DNS 主从复制服务器
一.主节点配置 1.yum install bind -y 安装 DNS 服务 2.vim /etc/named.conf 编辑 DNS 的配置文件 3.named-checkconf 检查配置文件 ...
- 记一个vue-resource请求的低级错误
对于初学的小菜鸡,经常会犯一些低级错误. 现在记录一下我在使用vue-resource发送post请求时的一个低级错误: window.BaseURL = '127.0.0.1:8888'; 8888 ...
- TraceID在AspNETCore日志排障中的应用
前言 .NetCore日志,相信大家多少都接触过,博客园有关 ① AspNetCore依赖注入第三方日志组件 ②第三方日志组件Nlog,Serilog 应用方法的博文层出不穷. 结合程序的部署结构 ...
- JS三座大山再学习(三、异步和单线程)
本文已发布在西瓜君的个人博客,原文传送门 前言 写这一篇的时候,西瓜君查阅了很多资料和文章,但是相当多的文章写的都很简单,甚至互相之间有矛盾,这让我很困扰:同时也让我坚定了要写出一篇好的关于JS异步. ...
- scrapy项目部署
什么是scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. 特点: 可以避免爬虫源码被看到. 有版本 ...
- Java中的compareTo()方法,compareToIgnoreCase()方法
1.compareTo(String)方法: Java中String类有一个compareTo方法,该方法返回一个int类型的数据.其比较规则是:拿出字符串的第一个字符与参数的第一个字符进行比较,如果 ...
- 金蝶天燕中间拒绝put、delete请求解决方案
项目要求支持国产化,那就国产化呗!使用金蝶天燕中间件替代weblogic,一切部署好后发现所有以put.delete请求的按钮全部无效,原因是中间件配置文件默认拒绝put.delete请求 解决方案为 ...
- 你不知道的setTimeout第三个参数
你不知道的setTimout第三个参数 说起setTimeout,各位再熟悉不过,用法也很简单:setTimeout(fun, delay). 但说起来你可能不信,用了这么多年的setTimeout居 ...
- 【RN - 基础】之FlexBox弹性布局
前言 弹性盒模型(The Flexible Box Module),又叫FlexBox,意为“弹性布局”,旨在通过弹性的方式来对齐和分布容器中内容的空间,使其能适应不同的屏幕,为盒装模型提供最大的灵活 ...
- 一个http请求的详细过程
一个http请求的详细过程 我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切. 首先http是一个应用层的协议, ...