使用pycharm或idea提交项目到github
pycharm和idea的操作方式几乎一样,所以下面就以pycharm为例来介绍。
安装git
https://git-scm.com/download/win 官网,下载慢,需翻墙
https://github.com/waylau/git-for-win 提供国内下载,下载快,与官网同步更新
下载好之后,双击安装,一路默认安装即可(安装路径根据自己的需要调整)。
生成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的更多相关文章
- pycharm 使用Git提交代码到Github
pycharm 使用Git提交代码到Github pytharm 创建django项目,提交到github总是失败,在github创建项目拉下来后项目层级会多一层,为此查了一些资料,亲测如下方式可行. ...
- git 命令提交项目到github
git 命令提交项目到github步骤如下: 1.使用git 命令客户端进入项目根路径,输入 git init 命令,创建github本地根目录 2.把文件加入到本地项目 git add . ,如 ...
- 解决提交项目到GitHub,报错Please tell me who you are的问题
描述: 在第一次提交项目到GitHub时,出现了以下问题 看了一下错误原因:Run git config --global user.email "you@example.com" ...
- Git之Eclipse提交项目到Github并实现多人协作
一.Eclipece提交项目到Github 见 eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization
- Git提交项目到GitHub
一.GitHub新建项目 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Descripti ...
- vs2013提交项目到github
提交项目之前必须先安装Git,下载地址:https://git-scm.com/download/win 1.登录Github后,在顶部导航栏选择New repository: 2.打开Create ...
- Hbuilder提交项目到GitHub出现cannot open git-upload-pack
问题描述 Hbuilder上传本地项目到GitHub时是通过下载的Egit插件,然而提交代码时出现下图问题 网上有说添加http的sslVerify=false,然并卵. 解决方案 不用hbuilde ...
- eclipse提交项目到github
1.在https://github.com new repository 2.在eclipse中new project 比如:Test项目 3.右击"Test"->Te ...
- 提交项目到Github
create a new repository on the command line git init git add README.md git commit -m "first com ...
随机推荐
- 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介绍 ...
- 分布式主键解决方案之--Snowflake雪花算法
0--前言 对于分布式系统环境,主键ID的设计很关键,什么自增intID那些是绝对不用的,比较早的时候,大部分系统都用UUID/GUID来作为主键,优点是方便又能解决问题,缺点是插入时因为UUID/G ...
- 【CKB.DEV 茶话会】如何在 CKB 上实现用户自定义 Token
本贴内容主要来自于 CKB.DEV 茶话会第一期,本期主题是:如何在 CKB 上实现 UDT,分享人是:Cipher 王博. 茶话会现场视频: https://v.qq.com/x/page/x303 ...
- 通过lib生成pom坐标
package com.jinloooong.demo.util; import com.alibaba.fastjson.JSONObject; import org.dom4j.Element; ...
- git 使用详解(9)-- 分支的新建与合并 git branch -d、merge、 --merged/--no-merged/-v
现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个电话说有个很严重的 ...
- go-channel处理高并发请求
目录 go-channel处理高并发请求 一.Channel简介 二.处理包并发请求 三.测试 1.测试工具 2.测试结果 go-channel处理高并发请求 最近看了一篇文章讲解怎样使用go-cha ...
- Java修炼——插入排列,选择排列
话不多说,直接上代码: package com.bjsxt.Array; import java.util.Arrays; public class TestSort { //选择排序 //插入排列 ...
- HDU2242 考研路茫茫——空调教室 (双联通分+树形DP)
考研路茫茫——空调教室 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- BZOJ [HNOI2006]鬼谷子的钱袋
1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 5367 Solved: 3646[Submit][St ...
- 洛谷 P2764(最小路径覆盖=节点数-最大匹配)
给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开始,长度也是任意的,特别 ...