pycharm和idea的操作方式几乎一样,所以下面就以pycharm为例来介绍。

安装git

下载好之后,双击安装,一路默认安装即可(安装路径根据自己的需要调整)。

生成ssh密钥对

进入用户目录下的.ssh目录,没有就新建一个;

鼠标右键选择 "Git Bash Here",打开git命令行;

输入如下命令:

ssh-keygen -t rsa -C "你的github邮箱账号"

遇到提示信息直接回车即可(为了方便,这里不设置密码,改密码是ssh提交时的密码,该密码与github无关)。

完成后,在用户目录下的.ssh目录下会生成两个文件:

添加公钥到github

登录github,找到如下入口:



打开新的页面如下,找到"New SSH key"



在新的界面中,输入title,这里随便输入什么都行,可以是你的计算机名称;然后复制之前生成的文件id_rsa.pub中的所有内容,粘贴到key的文本框里,点击"Add SSH key"。

配置pycharm中的git

打开pycharm的settings界面,选择 Version Control-->Git,配置好git.exe的路径,点击Test,弹出git的版本号并提示成功,就说明git在pycharm中配置好了。

配置pycharm中的github

打开pycharm的settings界面,选择 Version Control-->GitHub,勾选下方的"Clone git repositories using ssh",超时时间可以设为10秒,以上设置完后,点击右上方处的“+”号



弹出如下界面:



输入GitHub的帐号和密码,然后点击Log In。当然,也可以点击Enter token链接,切换为使用token绑定的界面,如下:

token的生成方式如下:

1、登录github.com,找到Settings,点击进入settings界面



2、选择“Developer settings”



3、选择"Personal access tokens",在打开的界面上点击“Generate new token”



4、Note随便填,比如填写你计算机的名字,或你自己的名称;scopes的选择可以用来控制token的权限范围,如果是我们自己用,那么就全选,完成后点击最下面的“Generate token”。



5、然后你将看到如下界面,红框中的就是token,注意划蓝色线部分的内容,这里告诉我们现在就要复制token,保存到你的计算机上,因为以后你在这里将只能看到token的名字,而看不到其内容。

6、有了token,将其粘贴到pycharm中就完成了使用token和github的绑定方式。

安装.gitignore插件

打开pycharm的Settings界面,找到Plugins选项,在其右侧选择Marketplace,然后在搜索框中输入“.ignore”,点击安装即可。

项目根路径下创建.gitignore 文件,并编写内容

该文件的作用就是排除不需要纳入版本控制的目录或文件,比如pycharm自己的.idea目录,以java项目为例,除了.idea目录,我们还想将.class和.jar文件排除在版控外,那么就如下编写即可:

.idea/
*.class
*.jar

创建项目的本地git仓库



创建好之后,打开项目的文件夹,选择查看隐藏文件,会看到多出了一个.git目录,就说明git仓库创建好了。

add to vcs

此时点击"Version Control"打开版控界面,点击左侧的刷新按钮,此时会看到"Unversioned Files",右键点击该行,将没有加入版控的文件通过"Add to VCS"选项添加到暂存区,下图为示意图,真实情况下,项目的文件可能会有几十到几百个。

commit

添加到VCS的文件,会出现在Default分类下,右键点击Default,选择commit选项,提交所有文件。

打tag

默认情况下,目前我们只有一个master分支,上面所有的修改都在该分支下进行,本文不做其他分支的讲解,这里只说明如何给master分支打tag,以便在github的release界面下看到发布的稳定版项目。

点击"Terminal",打开命令行面板:

然后输入命令:git tag -a v0.2.4-201908211120-SNAPSHOT,会弹出一个文档让你写入本次项目的更新内容,写好保存,关闭文档即可。此时再次执行命令:git tag,会看到刚才打好的tag版本:

push

切换回Version Control的面板,使用快捷键"ctrl+shift+k",打开push界面:



注意勾选Push Tags,否则刚才打的tag不会提交到github上,然后点击Push即可。

github上查看提交的项目和tag



可以看到除了项目的master分支,在release选项卡上多了一次发布,点击”release“进去的界面如下:



我们以后再对master分支做的修改,将不会影响这次打的tag版本。

注意事项

1、如果push的时间很长,甚至超时导致报push被拒绝的错误,请检查是否项目中有很多大文件,尽量将这些大文件利用.gitignore 文件排除在版控范围外。

2、如果提示没有权限,请检查ssh密钥对是否生成正确,是否在github网站上添加正确。

ok,本篇就这么多内容啦,感谢阅读O(∩_∩)O,88

使用pycharm或idea提交项目到github的更多相关文章

  1. pycharm 使用Git提交代码到Github

    pycharm 使用Git提交代码到Github pytharm 创建django项目,提交到github总是失败,在github创建项目拉下来后项目层级会多一层,为此查了一些资料,亲测如下方式可行. ...

  2. git 命令提交项目到github

    git 命令提交项目到github步骤如下: 1.使用git 命令客户端进入项目根路径,输入 git init  命令,创建github本地根目录 2.把文件加入到本地项目 git add .  ,如 ...

  3. 解决提交项目到GitHub,报错Please tell me who you are的问题

    描述: 在第一次提交项目到GitHub时,出现了以下问题 看了一下错误原因:Run git config --global user.email "you@example.com" ...

  4. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  5. Git提交项目到GitHub

    一.GitHub新建项目 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Descripti ...

  6. vs2013提交项目到github

    提交项目之前必须先安装Git,下载地址:https://git-scm.com/download/win 1.登录Github后,在顶部导航栏选择New repository: 2.打开Create ...

  7. Hbuilder提交项目到GitHub出现cannot open git-upload-pack

    问题描述 Hbuilder上传本地项目到GitHub时是通过下载的Egit插件,然而提交代码时出现下图问题 网上有说添加http的sslVerify=false,然并卵. 解决方案 不用hbuilde ...

  8. eclipse提交项目到github

    1.在https://github.com   new repository 2.在eclipse中new project  比如:Test项目 3.右击"Test"->Te ...

  9. 提交项目到Github

    create a new repository on the command line git init git add README.md git commit -m "first com ...

随机推荐

  1. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  2. 分布式主键解决方案之--Snowflake雪花算法

    0--前言 对于分布式系统环境,主键ID的设计很关键,什么自增intID那些是绝对不用的,比较早的时候,大部分系统都用UUID/GUID来作为主键,优点是方便又能解决问题,缺点是插入时因为UUID/G ...

  3. 【CKB.DEV 茶话会】如何在 CKB 上实现用户自定义 Token

    本贴内容主要来自于 CKB.DEV 茶话会第一期,本期主题是:如何在 CKB 上实现 UDT,分享人是:Cipher 王博. 茶话会现场视频: https://v.qq.com/x/page/x303 ...

  4. 通过lib生成pom坐标

    package com.jinloooong.demo.util; import com.alibaba.fastjson.JSONObject; import org.dom4j.Element; ...

  5. git 使用详解(9)-- 分支的新建与合并 git branch -d、merge、 --merged/--no-merged/-v

    现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个电话说有个很严重的 ...

  6. go-channel处理高并发请求

    目录 go-channel处理高并发请求 一.Channel简介 二.处理包并发请求 三.测试 1.测试工具 2.测试结果 go-channel处理高并发请求 最近看了一篇文章讲解怎样使用go-cha ...

  7. Java修炼——插入排列,选择排列

    话不多说,直接上代码: package com.bjsxt.Array; import java.util.Arrays; public class TestSort { //选择排序 //插入排列 ...

  8. HDU2242 考研路茫茫——空调教室 (双联通分+树形DP)

    考研路茫茫——空调教室 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  9. BZOJ [HNOI2006]鬼谷子的钱袋

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5367  Solved: 3646[Submit][St ...

  10. 洛谷 P2764(最小路径覆盖=节点数-最大匹配)

    给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开始,长度也是任意的,特别 ...