一、Github+Pycharm基础
GitHub为版本管理工具
常用的版本管理工具:本地化版本管理系统、集中式版本管理系统SVN、分布式版本管理系统
一、安装git(自行百度)
二、文件操作与分支管理基础
1、版本控制系统分类
集中化版本控制系统:
centralized version control systems 简称cvcs,与本地笨笨控制系统不同,集中化版本控制系统能让在不同系统上的开发者进行协调工作,这类系统注入CVS、Subversion以及Perforce等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连接到这台服务器,取出最新的文件或者提交更新,这已经成文版本控制系统的标准做法,每个人都可以在一定程度上看到项目中的其他人正在做什么,而管理员也可以轻松掌握每个开发者的权限,并且管理个CVCS要远比在各个客户端上维护本地数据库来的轻松容易。集中化版本控制系统显而易见的缺点是中央服务器的单店故障,如果宕机一个小时,那么在这一个小时内,谁都无法提交更新,也就无法协同工作,要是中央服务器的磁盘发成故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险
分布式版本控制系统:
Distrubuted Version Control System,DVCS,在这类系统中,像Git、Mercurial、Bazaar以及Darcs等,客户端并不只是提交最新版本的文件快照,而是把代码仓库完整的镜像下来,包括完整的历史记录,这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库回复,因为每一次的克隆操作,实际这类系统都是一次对代码仓库的完整备份,更进一步来讲,许多这类系统都可以指定和若干个不同的远端代码仓库进行交互,借此,可以在同一个项目中,分别和不同工作小组的人相互协作,分布式版本控制系统单缺点是代码容量占用比较大
git一般工作流程 1、在工作目录中添加、修改文件;2、将需要进行版本管理的文件放入暂存区域;3、将暂存区域的文件提交到git仓库;
git管理的文件有三种该娘:已修改、已暂存、已提交
三、git操作
1、创建git本地仓库,提交文件至暂存区和本地仓库
1、进入某个路径下新建一个文件目录,进入这个文件夹中,用git init创建一个init文件,产看新建的隐藏文件,新建的文件夹就是一个本地仓库
新建一个test01.py文件,把这个文件添加到暂存区
添加至暂存区之前查看状态 git status
提交至暂存区 git add,添加之后在git status提示没有需要提交的文件
接下来需要添加到本地仓库git commit -m "提交备注",提交后再git status查看提交的状态,第一次使用默认创建的master分支,由一个head指针指向版本,再次查看状态提示没有需要修改的文件,已经是最新的文件了
修改文件后git status后会提示有东西修改,修改后还是先提交文件值暂存区后再提交至本地仓库即可
git log ,查看修改的历史记录
2、版本库回退版本才做
1、首先查看版本记录 git reflog
2、回退至版本对应的版本库,git reset --hard 105ff4a
3、撤销修改操作 checkout,增加内容后撤销
1、首先更改文件,然后运行命令git checkout -- 文件名
4、删除操作 git rm 文件名
新建python.txt文件后再删除该文件,删除后查看状态,这里的删除是指的工作区删除但是暂存区还是存在,需要git add -A才能彻底删除, 需要git commit -m
5、单个版本重复提交
版本刚一提交到仓库,发现注释或其他弄错,需要这个版本再次提交,这也称之为最后一次提交操作,一个版本重复提交,版本号不会变,git commit --amend -m "备注"
四、分支管理
在之前的操作中,每次git提交,都会把版本串成一条时间线,这条时间线就是一个分支,截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD哈希值指向的是当前提交分支的主干节点,在实际的开发工作中,开发人员都分配不同的开发任务,每个开发任务由于功能、难度不一致,如果写完部分代码就进行提交到master分支,会导致代码异常、代码覆盖的情况,只对这种情况,git可以使用提交分支管理进行解决,开发人员创建一个属于自己的分支,其他开发人员看不到,还继续在原来的分支上正常工作,此时开发人员想提交就提交,指到开发完毕后,再一次性合并到原来的分支上,这样既安全,又不影响其他开发人员工作,所谓的分支管理,其实就是利用git对开发人员的分支管理,包含分支创建、分支合并、分支删除等操作
1、git branch 查看当前分支状况,创建一个分支 git branch dev
2、虽然有了两个分支,但是指针还是在master分支上,需要切换至dev分支,git checkout dev ,这是新建一个分支然后将head切换至新增的分支上,分为两步;同时也可以在创建分支的就切换至新建的分支
在创建分支的就切换至新建的分支 git checkout -b 分支名
3、在新建的分支上对文件进行修改并提交
4、合并分支,将所有分支合并到master分支,需要先切换至master分支后再行合并,先git branch mster 后再git merge dev
5、删除分支git branch -d 分支名,不能在指针指向该分支时删除该分支,可以在其他分支上删除分支,不一定非要在主分支上删除分株
一、Github+Pycharm基础的更多相关文章
- GitHub & Git 基础 (YouTube中文翻译版)
GitHub & Git 基础系列视频 播放列表 由于视频资源在YouTube上,可能需要FQ:https://code.google.com/p/chromeplus/ 视频包括以下内容 1 ...
- pycharm基础使用入门
pycharm基础使用入门 输出 print函数 print('hello world') 右键选择run或者右上角的三角形运行,可以运行出结果 "E:\all sorts of learn ...
- 最简单的Github入门基础
起因是小伙伴分享给我github上的一个FQ工具,让我看实现过程.于是,就由关键字"github"搜索开始. 一言之,是个开源的SVN.和CVS.SVN类似,但是,里面有千千万万程 ...
- 适合小白/外行的git与github最基础最浅显教程
首先声明,这是适合小白/外行/初学者/学生看的最基础最简单的git与github教程,已经能使用svn,git等工具的朋友请不要看这篇文章来浪费时间了. 想进一步学习git的,推荐去廖雪峰博客学习. ...
- pycharm 基础教程
pycharm 教程(一)安装和首次使用 PyCharm 是我用过的python编辑器中,比较顺手的一个.而且可以跨平台,在macos和windows下面都可以用,这点比较好. 首先预览一下 PyCh ...
- 一篇文章介绍GItHub的基础使用
最近复习了一下Git的使用,简单总结了一些.以供以后查阅和同行参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...
- GItHub Git 基础教程 常用命令 命令
最近复习了一下Git的使用,简单总结了一些.以供以后查阅和大家参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...
- Git和GitHub入门基础
-----------------------------------------//cd F:/learngit // 创建仓库git init // 在当前目录下创建空的git仓库------- ...
- (一)github之基础概念篇
1.github: 一项为开发者提供git仓库的托管服务, 开发者间共享代码的场所.github上公开的软件源代码全都由git进行管理. 2.git: 开发者将源代码存入名为git仓库的资料库中,而g ...
随机推荐
- Django之缓存、信号和图片验证码、ORM性能
一. 缓存 1. 介绍 缓存通俗来说:就是把数据先保存在某个地方,下次再读取的时候不用再去原位置读取,让访问速度更快. 缓存机制图解 2.Django中提供了6种缓存方式 1. 开发调试 2. 内存 ...
- 从键盘读入学生成绩,找出最高分, 并输出学生成绩等级(Java)
从键盘读入学生成绩,找出最高分, 并输出学生成绩等级 一.题目 从键盘读入学生成绩,找出最高分,并输出学生成绩等级. 成绩>=最高分-10 等级为'A' 成绩>=最高分-20 等级为'B' ...
- Swagger接口如何生成Html离线文档
A very simple tool that converts Swagger Api Document to Html File. 小记Swagger接口生成Html离线文档 由来 很多人用swa ...
- Prometheus时序数据库-报警的计算
Prometheus时序数据库-报警的计算 在前面的文章中,笔者详细的阐述了Prometheus的数据插入存储查询等过程.但作为一个监控神器,报警计算功能是必不可少的.自然的Prometheus也提供 ...
- 服务器安装部署-01-MySQL
1 MySQL 1.1 安装 在root用户权限下 # 创建mysql用户和用户组,同时禁止登陆 shell> groupadd mysql shell> useradd -r -g my ...
- Java 读取Word文本/段落格式属性
本文介绍通过Java后端程序代码来读取Word文本和段落格式的方法. 本次测试环境如下: Word版本:2013 编译环境:IntelliJ IDEA2018 Work库:free spire.doc ...
- 新动能 · 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级
25年,在历史的长河中不过转眼一瞬:但是对于创造者来说,25年足以颠覆一个时代...... 作为世界级云应用服务商,Zoho已经走过了25年的砥砺岁月.从ManageEngine到Zoho云服务,从工 ...
- 使用Amazon Pinpoint对用户行为追踪
1.前言 最近在做一个项目,我们的后台大数据团队需要了解用户在使用app的时候,都进行了哪些操作,在哪个页面都干了些什么,以及app日活和月活等等,各种数据.总之就是监控用户行为,说好听一点就是发送反 ...
- 用优先队列构造Huffman Tree及判断是否为最优编码的应用
前言 我们知道,要构造Huffman Tree,每次都要从堆中弹出最小的两个权重的节点,然后把这两个权重的值相加存放到新的节点中,同时让这两个节点分别成为新节点的左右儿子,再把新节点插入到堆中.假设节 ...
- Activiti工作流学习笔记(四)——工作流引擎中责任链模式的建立与应用原理
原创/朱季谦 本文需要一定责任链模式的基础,主要分成三部分讲解: 一.简单理解责任链模式概念 二.Activiti工作流里责任链模式的建立 三.Activiti工作流里责任链模式的应用 一.简单理解责 ...