第8章 tools
8.1 git 和 github
push到github的时候每次都需要输入用户名密码
首先,克隆到本地的时候选择ssh方式
git clone git@github.com:<repo> ## 如果本地已经选择https方式克隆,可以先删除原来的远程仓库,重新添加 ## ssh方式 # 查看本地clone方式 git remote -v # 删除远程仓库 git remote rm origin # 重新添加 git remote add origin git@github.com:<repo>
然后本地生成ssh密匙添加至github账户,获得访问github权限,详细步骤参考 这里
最后push即可
git push --set-upstream origin master
修改commit的message
# 想要修改的commit的父提交hash值
git rebase -i <commit_hash>
# 修改要修改message行首的pick为r(reword),然后修改该条message,保存退出即可
# 如果同时修改github仓库的commit,强制push即可
git push -f
- 显示某一次提交中某个文件的变化
- 删除远程仓库(如github)的错误提交,在本地处理好之后,如删除错误提交,然后强制push到远程进行修改
- 删除远程分支
修改本地仓库关联的远程仓库,提交修改至另一个远程仓库
unstage
git add
的文件忽略本地文件修改
拉取远程分支时保持本地修改
远程仓库已经有新的commit,在本地开发的时候没有pull到本地,就直接进行修改并 commit,这时候再push到远程仓库就会提示远程仓库中有本地不存在的commit。这时候就 需要在远程仓库基础上merge本地的最新commit
删除已经提交的文件,并添加到ignore
- 恢复已经push到远程仓库的误删的文件
# 找到误删文件的commit
git log --diff-filter=D -- <filename>
# 恢复文件, ~n表示该commit的第n个祖先
git checkout <commit>~1 -- <filename>
查看仓库中代码行数
参考这里
windows下命令行git中文显示乱码
设置环境变量
LESSCHARSET=utf-8
8.2 hugo
基于hugo采用blogdown建站的时候出现错误
panic: BUG: Expected valid escape code after \, but got '\r'.
是由于配置文件
config.toml
中采用多行字符中"""
的换行符引起的\
,去掉换行符即 可,参考这.
8.4 conda
设置清华源,参考此
channels: - conda-forge - bioconda - defaults show_channel_urls: true channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
安装 biconda 上的工具的时候,可能出现软件版本冲突错误:
UnsatisfiableError: The following specifications were found to be incompatible with each other: Output in format: Requested package -> Available versions
.可能是 conda 中 channels 顺序设置错误,按照 bioconda 文档中建议的顺序(
conda-forge > bioconda > defaults
)设置. 或参考这里.
Output in format: Requested package -> Available versions
macOS 10.14 Mojave,conda安装包的时候设计到qt就出现错误,如
conda-forge::qt-5.9.7-h93ee506_1'. PermissionError(1, 'Operation not permitted')
解决方法在此
# for base: cd ~/anaconda3/bin ls *.app rm -rf *.app conda update --all --yes # for some_env: cd ~/anaconda3/envs/some_env/bin ls *.app rm -rf *.app conda update -n some_env --all --yes
8.5 Zotero
8.5.1 collecions (分类)
Zotero中可以把文献按层次进行分组(或子组),比如某一个课题或某一篇文章的参考文献 归为一个分类。相同文献条目可以划分到不同分类不会重复保存该条目的数据(条目只会 保存一次,不同分类下的该条目都指向它)。根目录(My Library)会显示所有条目,在根目 录下多次出现的条目才是重复条目。
常用的与分类有关的操作
- 移动分类,可以在左边面板中利用鼠标拖拽。
- 分类的排序,默认按字母顺序排列
- 条目添加到另一个分类,类似于copy,直接鼠标拖拽该条目到另一个分类即可。
- 条目移动到另一个分类,类似于move,在拖动的时候按住
Mac: Cmd
或Windows:Shift
键。 - 删除分类,右键点击
删除分类
,删除分类及其子分类,但不会删除分类中的条目,条目 在根目录下仍存在(点击删除分类及条目
删除分类下条目)。 - 删除分类中的条目
- remove, 在右边面板中选中相应分类下的条目后按
Delete
删除,或者是点击 右键选择从分类中删除条目
, 只会删除该分类下的条目,不会删除其他任何分类中 相同的条目(如根目录). - delete,
Cmd/Ctrol+delete
移动条目到回收站,或点击右键移动条目至回收站。
- remove, 在右边面板中选中相应分类下的条目后按
- 查看条目在哪些分类中,选中条目后,按住
Mac:Option/Windows:Control/Linux:Alt
, 一定时间后左侧面板中含有该条目的分类会高亮显示。
Zotero自带特殊分类
- 重复条目(Duplicated Items), 重复的条目可以帮助我们合并重复条目。
- 未分类条目(Unfiled Items), 没有在任何分类中(比如位于根目录下)
- 回收站(Trash), 类似于电脑的回收站,可以重新恢复相应条目、永久删除条目等。 项目默认30天后删除。
此外,子分类中的条目默认不会显示在父分类中,可以通过设置高级(Advanced Pane) -> 设置编辑器(Config Editor), 把
extensions.zotero.recursiveCollections设置为
True`