1.python基础使用
1.git简介
git是一个免费的开源的分布式版本控制系统,可以快速高效的处理从小型到大型项目的所有事务
在实际工作中可以保留项目的所有版本,可以快速的实现版本的回滚和修改
git整体可以分为4个区域的划分
工作区:程序员直接修改代码文件
暂存区:暂存修改的文件
版本库:提交到本地一个版本
远程仓:远程存放代码,便于共享
2.git的安装
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
产看版本信息
git --version
3.git初始化
3.1 目录初始化
我们安装git之后,接下来就是创建一个目录,用做初始化,也就是让git管理该目录
初始化目录
git init
3.2 用户配置
对于刚下载的git,我们通常要配置用户名和邮箱,为了以后提交代码使用,只需要配置一次即可
查看当前git配置
git config --list
# 配置用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"
4.git本地常用操作
4.1查看git文件状态
我们在做任何操作的时候,都会确定当前文件状态
git status
4.2 加入暂存区
将所有的已修改或者新建的文件加入缓存
git add .
将指定的文件加入缓存
git add 文件名字
4.3 加入版本管理
git commit -m "提交备注"
4.4 查看提交记录
简单查看
git log
一行显示
git log --oneline
可以显示分支关系
git log –-pretty=oneline --graph
查看原始log
git reflog
4.5 查看某次提交做的修改
git show commitID
4.6 查看当前修改的内容
查看工作区和版本区的不同
git diff
查看暂存区和版本区的不同
git diff --cached
查看两次提交记录之间的不同
git diff commitID1 commitID2
4.7 清除未被git管理的文件
我们在编译项目的时候,如C语言,会产生大量的中间文件,这些是不需要提交的文件
将git未被管理的文件或者文件夹清除,注意,对于新加的文件也会清除,需要先加入缓存
git clean -df
4.8 撤销操作
4.8.1 撤销工作区修改
git checkout 文件名称
4.8.2 撤销暂存区的修改
以下两个命令都可以
git reset HEAD
git restore --staged 文件名
4.8.3 撤销版本区到暂存区
git reset --soft commitID
4.8.4 撤销版本区到工作区的已修改
git reset --mix commitID
4.8.5 撤销版本区到工作区,工作区内容完全清除
慎用!!
git reset --hard commitID
5.HEAD
HEAD是指向当前所在分支的当前提交记录的引用标识符
HEAD^ : 当前提交记录的上一次提交记录
HEAD^^: 当前提交记录的上上次提交记录
如:git show HEAD^ 显示上上次的提交记录
6.分支
分支本质上就是只想提交对象的可变指针,git中的分支才是我们有可能完成多人协同开发,使用分支的场景
多人协同开发,最后合并代码
一个人针对不同的开发,在不同分支上开发,避免影响主分支
6.1 查看分支
查看所有的本地分支
git branch
查看多有分支,包括远端分支
git branch -a
查看分支的详细信息,包括跟踪分支
git branch -vv
6.2 创建分支
git branch 分支名字
6.3 切换分支
git checkout 分支名
6.4 创建并切换分支
git checkout -b 分支名
6.5 删除分支
删除分支的时候必须切换到其他分支才能删除指定分支
删除分支
git branch -d 分支名
强制删除分支
git branch -D 分支名
6.6 合并分支
合并分支的时候,如果希望A分支合并到B分支,那么首先要切换到B分支上
git merge 要合并的分支
6.7 变基合并
变基可以保持代码提交的整洁
git rebase 分支名
通过merge合并分支,查看log记录,饿哦们可以很清晰的看出两个分支在什么位置合并的,各个分支的节点,但如果分支很多,合并很复杂,也是感觉很乱的,如果我们希望log记录是一条直线,可以考虑变基合并,如下两张图
6.8 cherry-pick
如果我们不希望合并整个分支,只希望获取其他分支的一个或者几个提交,那么就可以使用如下
git cherry-pick commitID
6.9 stash操作
我们在一个分支上工作的时候,如果需要切换到另一个分支,但又不希望提交当前的修改,我们可以隐藏当前分支的修改
显示所有的隐藏记录
git stash list
将当前分支的所有修改隐藏
git stash
弹出隐藏记录
git stash pop
7.冲突
冲突产生的原因就是两个要合并分支(或者节点)对同一个文件的的同一行文件做了修改,关于合并的操作都可能产生冲突
git merge
git rebase
git cherry-pick
git pull
git fetch
..
解决冲突的办法(git merge)
找到产生冲突的文件,寻找产生冲突的代码
决定保留那一个分支上的代码
重新提交
git add
git commit
8.远程操作
远程仓库,顾名思义就是在远端有一个仓库,存储这我们的代码,我们要做的就是实现本地仓库和远程仓库的交互
我们常用的就是github,可以自己上去申请一个账号https://github.com/
8.1 代码仓克隆
克隆之后的本地仓库,会默认生成远程分支跟踪远程仓库的所有分支
git clone 远程仓地址
8.2 远程仓管理
显示远程仓名字,默认为origin
git remote
在指定的远程仓中添加分支
git push origin 分支名字
在指定的远程仓库中删除一个分支
git push origin --delete 分支名字
8.3 推送代码
git push origin 本地分支:远端分支
远端分支不存在自动则创建
8.4 拉取代码-fetch
将本地远程分支更新到远程分支的最新状态,但是本地分支不发生改变
拉取特定的一个分支
git fetch origin 远端分支
拉去仓库的所有分支
git fetch
8.5拉取代码-pull
将本地远程分支更新到远程仓库最新状态,然后合并本地分支
使用该命令的前提是本地分支跟踪远端分支
git branch -u 本地远端分支名字
分支跟踪之后,以后推送代码和拉取代码就很简单了
git push
git pull
git pull = git fetch + git merge
拉取指定的分支
git pull origin 远程分支
拉去所有追踪的分支
git pull
9.其他
9.1 ssh
我们可以使用ssh的url进行克隆,但是需要生成ssh key
1. 在本地电脑执行命令 ssh-keyge -t rsa -C “email”
2. vim ~/.ssh.id_rsa.pub
3. 在github中添加公钥
9.2 git blame
该命令可以显示该文件每一行代码的修改人,日期等,以便追查责任人
git blame filename
1.python基础使用的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- 「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心)
题面 来源 「 雅 礼 集 训 2017 D a y 7 」 跳 蚤 王 国 的 宰 相 传 统 2000 m s 1024 M i B {\tt「雅礼集训 2017 Day7」跳蚤王国的 ...
- 【java】学习路径20-Date、Calender日期与时间
简单的说,Date和Calender基本上是差不多的. 在最开始的时候只有Date,没有Calender. 在jdk不断更新的时候,发现了Date有一点缺陷,于是推出了Calender. // Dat ...
- 【unity游戏入门】1 环境安装
作者 罗芭Remoo 2021年9月24日 这一个系列随笔记录如何使用unity引擎从零开始开发游戏,软件版本均使用最新版本 有关unity的背景介绍可以通过unity官网https://unity. ...
- Dubbo源码(九) - 服务调用过程
1. 前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 源码分析均基于官方Demo,路径:dubbo/dubbo-demo 如果没有看过之前Dub ...
- ubuntu语言支持打不开,点了没反应
ubuntu语言支持打不开,点了没反应 sudo dpkg-reconfigure locales
- bulk collect 在KingbaseES和Oracle的使用方法比较
概述 BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎.通常可以在SELECT INTO.FETCH INTO以及RETURNI ...
- Flink SQL 子图复用逻辑分析
子图复用优化是为了找到SQL执行计划中重复的节点,将其复用,避免这部分重复计算的逻辑.先回顾SQL执行的主要流程 parser -> validate -> logical optimiz ...
- ProxySQL(13):ProxySQL集群
文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9362822.html ProxySQL有原生的集群功能,但是这个原生的集群功能还正在试验阶段.本文会详细介绍 ...
- 使用KVM的图形化界面安装centos7虚拟机
前提条件 1.宿主机上已经安装KVM的图形化管理软件,参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/15538881.html 2.宿主机上安装vnc服务器, ...
- 使用coverlet统计单元测试的代码覆盖率
单元测试是个好东西, 可以在一定程度上兜底 虽然写单元测试这件事情非常麻烦 但是好的单元测试可以显著提高代码质量, 减少bug, 避免无意中的修改导致其他模块出错 写测试用例的过程中, 靠人力去确保所 ...