利用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 ...
随机推荐
- lqb 基础练习 01字串 (itoa)
基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 0 ...
- expect 自动填充密码
它的脚本以#!/usr/bin/expect开头,执行时用expoct,而不是bash.我的一个给samba自动创建用户并且自动填写默认密码的脚本如下: vim smb_passwd.exp #!/u ...
- java中的string对象深入了解
这里来对Java中的String对象做一个稍微深入的了解. Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以 ...
- windows 10 上源码编译opengv | compile opengv on windows 10 from source
本文首发于个人博客https://kezunlin.me/post/51cd9fa0/,欢迎阅读! compile opengv on windows 10 from source Series co ...
- 在SQL Server数据库中执行存储过程很快,在c#中调用很慢的问题
记录工作中遇到的问题,分享出来: 原博客地址:https://blog.csdn.net/weixin_40782680/article/details/85038281 今天遇到一个比较郁闷的问题, ...
- Glibc编译报错:*** LD_LIBRARY_PATH shouldn't contain the current directory when*** building glibc. Please change the environment variable
执行glibc编译出错如下图 [root@localhost tmpdir]# ../configure --prefix=/usr/loacl/glibc2.9 --disable-profile ...
- 【Android - 自定义View】之View的measure过程解析
measure(测量)过程是View的工作流程中最开始.最核心的过程,在这个过程中负责确定View的测量宽/高. 对于View和ViewGroup,measure过程有不同的执行方法:如果目标是一个原 ...
- OpenStack - keystone 问题 'NoneType' object has no attribute 'service_catalog'
'NoneType' object has no attribute 'service_catalog' 报错 编辑:/etc/keystone/keystone-paste.ini 在[pipeli ...
- react之context
context是什么 Props属性是由上到下单向传递的 context提供了在组件中共享此类值的方法 context使用 设计目的是共享哪些对于组件来说全局的数据 不要因为仅仅为了避免在几个层级下的 ...
- 爬取豆瓣top250音乐 时长 出版商 存入Mongo数据库
import requestsfrom lxml import etreeimport reimport pymongoimport time client = pymongo.MongoClient ...