Giter Site home page Giter Site logo

hiicy.github.io's People

Contributors

hiicy avatar

Stargazers

 avatar

Watchers

 avatar  avatar

hiicy.github.io's Issues

git add 系列

git add . 后面加一个“.”,匹配所有的文件
总结下,提交多个文件时,git add后可以有如下参数以及参数的解释:

git add .        提交被修改(modify)的和新建(new)的文件,但不包括被删除(deleted)的文件                   

git add -u   --update    提交被修改(modify)的和被删除(deleted)的文件,不包括新建(new)的文件

git add -A    --all       提交已被修改和已被删除文件,上面的两个合集,即被修改,新建 ,被删除


git 新版本2.x有变换
git add .        提交被修改(modify)的和新建(new)的文件,被删除(deleted)的文件 
git add --ignore-removal .      提交被修改(modify)的和新建(new)的文件,但不包括被删除(deleted)的文件 

git revert 系列

单次回滚某次提交
git revert commit-id

当回滚某次merge提交
因为有分叉,所以需要选个主干,一般
git revert commit-id -m 1

docker 无法删除镜像

REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
jva                            latest              862695a7372f        2 months ago        691MB
hub.c.163.com/library/tomcat   latest              72d2be374029        17 months ago       292MB
javacode                       latest              72d2be374029        17 months ago       292MB

删除镜像72d2be374029出现
image is referenced in multiple repositories 问题
出现上面问题的原因:
删除其中一个镜像,这里的镜像有两个repo引用,并且没有容器使用
对于被删除的ImageID,这里存在多个REPOSITORY名字引用,解决方法如下
sudo docker image rm javacode
删除时指定名称,而不是IMAGE ID。
然后再删除IMAGE ID就可以了
sudo docker rmi 72d2be374029

Ubuntu 开启SSH服务

sudo apt-get install openssh-server

# 开机自动启动ssh命令
sudo systemctl enable ssh

# 关闭ssh开机自动启动命令
sudo systemctl disable ssh

# 单次开启ssh
sudo systemctl start ssh  # sudo service ssh start

# 单次关闭ssh
sudo systemctl stop ssh

# 设置好后重启系统
reboot

#查看ssh是否启动,看到Active: active (running)即表示成功
sudo systemctl status ssh

查询服务启动状态:
sudo ps -e | grep ssh
或者
sudo service ssh status

查看状态
netstat -an | grep "LISTEN "

git 分支 系列!

如果远程新建了一个分支,本地没有该分支。

可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。
git checkout --track origin/branch_name

删除远程分支

git branch -r -d origin/branch-name  
git push origin :branch-name

xlrd 读取excel出的错!

XLRDError: "Excessive indirect references in NAME formula"
解释:是excel文件交叉表引用过多,就是超过了其定义的回归次数
目前解决:
xlrd\formula.py
更改STACK_PANIC_LEVEL = 10的次数
如改为STACK_PANIC_LEVEL=15
具体视情况而定!

git 摘要

# git status中看不到记录但是git 历史记录中还是保存了文件的变改
1. git update-index --assume-unchanged /path/to/file       #忽略跟踪  
2. git update-index --no-assume-unchanged /path/to/file  #恢复跟踪 
git fetch origin master
git log -p master..origin/master
git merge origin/master

从远程的origin仓库的master主分支更新最新的版本到origin/master分支上
比较本地的master分支和origin/master分支的差别
合并内容到本地master分支
git rebase # 合并分支,但是会删除本地索引,克隆版本来
git merge 分支名# 合并

--

git cherry-pick

需要另一个分支的所有代码变动,那么就采用合并(git merge)。
另一种情况,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick

将指定的提交commitHash,应用于当前分支
git cherry-pick <commitHash>
单个commit只需要git cherry-pick commitid
多个commit 只需要git cherry-pick commitid1..commitid100

注意,不包含第一个commitid , 即  git cherry-pick (commitid1..commitid100] # 左开右闭

git reset !

git reset 的三个参数
简单总结一下,其实就是--soft 、--mixed以及--hard是三个恢复等级。
--soft就仅仅将头指针恢复,已经add的缓存以及工作空间的所有东西都不变。
--mixed,就将头恢复掉,已经add的缓存也会丢失掉,工作空间的代码什么的是不变的。
--hard,那么一切就全都恢复了,头变,aad的缓存消失,代码什么的也恢复到以前状态

Git Reset 三种模式

当你回滚之后,又想回滚回去,

git reflog 查看你的操作记录
git reset --hard commit_id // 恢复提交

git 撤销系列

1.在工作区

git checkout -- a.txt   # 丢弃某个文件,或者`
`git checkout -- .       # 丢弃全部

2.在暂存区

git reset HEAD .  #或者
git reset HEAD a.txt

3.本地分支

git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>  # 回到其中你想要的某个版
或者
git reset --hard HEAD^  # 回到最新的一次提交
或者
git reset HEAD^  # 此时代码保留,回到 git add 之前

4、git push把修改提交到远程仓库

1)通过git reset是直接删除指定的commit
git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>
git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除

2)通过git revert是用一次新的commit来回滚之前的commit
git log # 得到你需要回退一次提交的commit id
git revert <commit_id>  # 撤销指定的版本,撤销也会作为一次提交进行保存

3) git revert 和 git reset的区别
- git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留;
- git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除
git reset 的三个参数
简单总结一下,其实就是--soft 、--mixed以及--hard是三个恢复等级。使用--soft就仅仅将头指针恢复,已经add的缓存以及工作空间的所有东西都不变。如果使用--mixed,就将头恢复掉,已经add的缓存也会丢失掉,工作空间的代码什么的是不变的。如果使用--hard,那么一切就全都恢复了,头变,aad的缓存消失,代码什么的也恢复到以前状态

https://blog.csdn.net/asoar/article/details/84111841

git rebase!

# 用途一:合并几个提交
git rebase  -i HEAD~3  # 以交互模式合并3个提交
进入交互模式进行更改,然后
git add .
git rebase --continue 
取消修改
git rebase --abort
#用途二:置换基
[git-rebase命令用法](https://blog.csdn.net/u013262534/article/details/81383058)
# 假如你当前在dev分支,dev分支,master分支都有提交
git rebase master  # 等于dev合并了master,以maset为基点 ,包含了maset的提交记录,然后dev还是领先提交

清华镜像源的使用

添加清华镜像至Anaconda仓库

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

小程序访问豆瓣api被403解决

在网上查到说是豆瓣不给小程序开放,
所以网上一种办法是用nginx去做转发;
另一种是我自己用tornado写个服务去访问豆瓣api,再去响应小程序的请求,做个转发处理,

git如何移除某文件的版本控制

1:还没有加到版本控制中
(1)还没有git add
在 .gitignore中添加
(2)已经git add
先 git rm -r --cached 文件
在 .gitignore中添加
2:已经加到版本控制中
先 git rm -r --cached 文件
在 .gitignore中添加
最后 gti commit -m '提交.gitignore'

pip 添加源

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
**科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/ 
豆瓣:http://pypi.douban.com/simple/

临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider,这样就会从清华这边的镜像去安装pyspider库。

永久修改 一劳永逸
Linux下,修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹)
内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

windows下,直接在user目录中创建一个pip目录,如:C:\Users\anwuqu\pip,新建文件pip.ini。内容同上

Spark stanalone slave节点连接问题

错误:关于Spark报错不能连接到Server的解决办法(Failed to connect to master master_hostname:7077)
原因:待理解:一般情况下hosts中对于主机名, 都会绑定到127.0.0.1上, 这就导致spark在启动7077端口的时候, 会绑定在127.0.0.1:7077上, 这样其它主机就没有办法连接上来
解决:用-h参数启动Master,连接到Master的UI,确保URL是spark://master_ip:7077,而非spark://host_name:7077。这样Slave连接Master的问题不会再出现
./sbin/start-slave.sh spark://master_ip:7077
解决2:还未验证:可以在spark-env.sh中进行规避. 就是使用SPARK_MASTER_HOST属性
export SPARK_MASTER_HOST=master_ip

又是编码问题!!

读文件时出现
UnicodeEncodeError: 'cp950' codec can't encode character '\u4e2a' in position 218: illegal multibyte sequence
解决:
with open(file,'r',encoding="utf8") as fi:
加入 encoding="utf8"
写文件也是
目前是

git log 系列

git log --oneline

git log --after="2014-7-1"  --before="2014-7-4"  # 按日期范围来搜索

git log --author="John\|Mary" # 用正则按照作者来过滤

git log --after="2021-10-13" --before="2021-11-02" --grep "Merge" --author="i-robot"

TypeError: Object of type 'bytes' is not JSON serializable

默认的编码函数很多数据类型都不能编码,因此可以自己写一个encoder去继承jsonencoder ,这样就能够进行编码了
比如说上面的这个问题,是因为json.dumps函数发现字典里面有bytes类型的数据,因此无法编码,只要在编码函数之前写一个编码类就行了,只要检查到了是bytes类型的数据就把它转化成str类型

class Myencoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o,bytes):
            return str(o,encoding='utf-8')
        return json.JSONEncoder.default(self,o)

然后使用:

dicts = json.dumps(idict,cls=Myencoder)

Django 信号触发失败问题

新建signal.py文件
在项目__init__.py
导入default_app_config = "post.apps.ReviewConfig"
然后在apps.pyready函数作如下配置

class ReviewConfig(AppConfig):
	name = 'post'
	# 应用注册表的配置
	def ready(self):
		# 内部信号 自动发送
		import post.handler

Git pull 远程仓库与本地代码有冲突解决

当你执行到push操作时发现有冲突需要解决时,可以用git stash暂存现在的工作区,git stash list 可以看stash区的几个版本

  1. git stash 保存现在的最新代码状态,
  2. git pull origin 从仓库拉代码,并覆盖本地的代码,
  3. git stash pop从暂存区恢复原来的代码,这时执行git pull 就不报错了
  4. 然后 git push

python2 编码问题

编码问题

Unicode是字符集,UTF-8Unicode的一种编码方式,并列的还包括UTF-16UTF-32等.

python2中的str,unicode

strunicode是两个不同的类。

str存储的是已经编码后的字节序列,输出时看到每个字节用16进制表示,以\x开头。每个汉字会占用3个字节的长度。

>>> a = '啊哈哈'
>>> type(a)
<type 'str'>
>>> a
'\xe5\x95\x8a\xe5\x93\x88\xe5\x93\x88'
>>> len(a)
9
>>> a[2]
'\x8a'

unicode是“字符”串,存储的是编码前的字符,输出是看到字符以\u开头。每个汉字占用一个长度。定义一个Unicode对象时,以u 开头

>>> b = u'哟呵呵'
>>> type(b)
<type 'unicode'>
>>> b
u'\u54df\u5475\u5475'
>>> len(b)
3
>>> b[2]
u'\u5475'

str可以通过decode()方法转化为unicode对象,参数指明编码方式。

>>> a.decode('utf-8')
u'\u554a\u54c8\u54c8'

unicode可以通过encode()方法转化为str对象,参数指明编码方式。

>>> b.encode('utf-8')
'\xe5\x93\x9f\xe5\x91\xb5\xe5\x91\xb5'

文件的默认编码

Python2中的默认编码,有多个不同的变量。

  1. 代码文件开头的coding

     # -*- coding: utf-8 -*-
    
    

     # coding=utf-8
    
    

    指明代码文件中的字符编码,用于代码文件中出现中文的情况。

     % cat hello.py
     #! /usr/bin/env python
     # coding=utf-8
     print '泥壕'
     
     % python hello.py
     泥壕
    
    

    如果不设置,默认是ascii,当出现中文字符时就不能正常识别.

  2. sys.stdin.encodingsys.stdout.encoding

    sdtinstdout输入输出使用的编码,包命令行参数和print输出,由locale环境变量决定。

    en_US.UTF-8的系统中,默认值是UTF-8

  3. sys.getdefaultencoding()

    文件读写和字符串处理等操作使用的默认编码。

    默认值是ascii

字符串拼接

unicodestr类型通过+拼接时,输出结果是unicode类型,相当于先将str类型的字符串通过decode()方法解码成unicode,再拼接。此时如果解码时没有明确指明编码类型,可能会出现错误。

带\u的字符串转unicode

可能会遇到汉字被转换成unicode编码的形式表示的情况,即一个汉字被表示成了\u????的形式。

>>> a = u'咩'
>>> a
u'\u54a9'
>>> b = '\u54a9'
>>> b
'\\u54a9'

上述b就是这样的情况。此时b是一个长度为6的字符串,而不是一个汉字。

要把b表示为汉字编码有两种方法。

  1. unicode-escape编码。

     >>> unicode(b, 'unicode-escape')
     u'\u54a9'
    
    

     >>> b.decode('unicode-escape')
     u'\u54a9'
    
    
  2. eval拼接。

     >>> eval('u"' + b.replace('"', r'\"')+'"')
     u'\u54a9'
    

补充

python3 现在默认都以unicode编码,不存在python2当中的问题

原文出处

ValueError: attempted relative import beyond top-level package

要运行自己写的包里的某个子文件夹里的文件,会出现上述错误
解决办法,在运行文件里,把该顶层包加入PYTHONPATH里:

import sys
import os
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(path)
print()
sys.path.append(path)
print(sys.path)

Git config 系列

Git 清除配置
git config --global --unset credential.helper

git config --list
Http模式下,非手动输入:
[credential] \n helper = store --file /home/wxk1012373/gitwiki

git clean 相关

git clean命令用来从你的工作目录中删除所有没有tracked过的文件.

git clean -n   # 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒
git clean -f   # 删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过
git clean -d # 删除当前目录下没track的目录

# 删除 untracked files
git clean -f 
# 连 untracked 的目录也一起删掉
git clean -fd 
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd

# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd

如果git submodule中也存在需要删除的文件那么需要再加个-f, 
git clean -dff

gitee pull requests相关

网址复查: 使用 Pull Request 功能进行代码审查
core:

  • 创建新pull requests时,从自己fork的仓库创建,然后会自己跳转到源仓库
  • 发pr时,只要不跟自己的代码相关,可以不用跟源仓库同步(目前貌似是),当需要修改代码时,只需要在自己仓库提交了,更新了,pr那里自己就更新了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.