常用终端命令(python虚拟环境+git)
基础
新建文件夹
mkdir
[
文件夹名
]
新建文件
touch
[
文件名
]
编辑文件
vi
[
文件名
]
查看当前文件夹位置中的所有文件
ls
(
-a/-all
)
-a:显示隐藏文件;-all:显示隐藏文件和属性
python虚拟环境
jupyter notebook 添加虚拟环境变量(需要在该变量中)
python -m ipykernel
install
(
--user
)
--name
[
环境名称
]
--display-name
"[显示的名称]"
#####查看python虚拟环境
lsvirtualenv -b
激活虚拟环境(
pip install virtualenvwrapper
)
workon
[
虚拟环境名称
]
查看该虚拟环境下的第三方库
pip list
(
-l
)
-l
:不继承全局库
退出当前虚拟环境
deactivate
新建虚拟环境
virtualenv
[
虚拟环境名
]
或者virtualenvwrapper下:
mkvirtualenv
[
虚拟环境名
]
删除特定的虚拟环境
rmvirtualenv
[
虚拟环境名
]
进入虚拟环境所在目录
cdvirtualenv
列出所有可更新的包
pip list --outdate
更新包
pip
install
--upgrade
[
包名
]
查看已安装包信息
pip show
[
包名
]
复制虚拟环境
cpvirtualenv
[
旧包名
]
[
新包名
]
git系列
git更新
git
clone git://git.kernel.org/pub/scm/git/git.git
第一次配置用户信息
$
git
config --global user.name
[
username
]
$
git
config --global user.email
[
useremail
]
该命令只需运行一次。当你想针对特定项目使用不同的用户名与邮箱时,可以在那个项目目录下运行没有
--global
选项的命令。
修改默认文本编辑器
git
config --global core.editor
[
编辑器
]
检查配置信息
$
git
config --list
$
git
config
[
某一项配置
]
获取帮助
$
git
help
<
verb
>
$
git
<
verb
>
--help
$
man
git-
<
verb
>
初始化现有目录的仓库
git
init
克隆现有仓库
git
clone
[
url
]
检查当前文件状态
git
status
(
-s
)
-s: 状态简览
跟踪新文件
git
add
[
filename
]
查看忽略文件
cat
.gitignore
查看修改的部分
git
diff
查看支持的git diff插件
git
difftool --tool-help
提交更新
git
commit
(
-m
"[提交信息]"
)
-m: messages
提交所有跟踪文件
git
commit -a
(
-m
"[提交信息]"
)
移除文件
git
rm
(
--cached
)
[
文件名
]
–cached: 值删除git仓库中的文件,保留当前工作目录中的。没有该命令是两端删除。
移动文件
git
mv
[
旧文件
]
[
新文件位置
]
查看提交历史
git
log
(
-p -2
)
-p
: 显示每次提交的内容差异;
-2
: 显示最近2次提交
git
log --stat
显示每次提交的简略统计信息。
git
log --pretty
=
oneline
每次提交一行显示,
--pretty
指定使用不同默认格式的方式展示提交历史(oneline/short/full/fuller)。
也可以自定义格式:
git
log --pretty
=
format:
"%h - %an, %ar: %s"
显示结果为:
7626325 - Night丶GIory Glory, 80 minutes ago: pandas
559cc4b - Night丶GIory Glory, 4 hours ago: sci-py
4112096 - Night丶GIory Glory, 21 hours ago: material
图形化展示分支、合并历史:
git
log --pretty
=
format:
"%h %s"
--graph
或者限制输出时限:
git
log --since
=
1.days
撤销操作
尝试重新提交:
git
commit --amend
取消暂存文件
git
reset HEAD
[
文件名
]
撤销对文件的修改
git
checkout --
[
文件名
]
查看配置的远程仓库服务器
git
remote
(
-v
)
-v
: 显示需要读写远程仓库使用的Git保存的简写与其对应的URL.
添加远程仓库
git
remote add
<
shortname
>
<
url
>
从远程仓库中抓取与拉取
git
fetch
[
remote-name
]
推送到远程仓库
git
push origin master
查看分支
git
branch
查看远程仓库
git
remote show origin
远程仓库重命名
git
remote
rename
[
oldname
]
[
newname
]
移除远程仓库
git
remote
rm
[
仓库名
]
列出已有标签
git
tag
查找标签
git
tag -l
[
'v.*.**'
]
添加附注标签
git
tag
(
-a
)
v*.* -m
[
'message'
]
没有
-a
是轻量标签。
查看标签信息与对应的提交信息
git
show
[
v*.*
]
共享标签
git
push origin
[
tagname
]
删除标签
git
tag -d
[
tagname
]
但是该方法不会更新远程仓库的标签。更新远程仓库的标签方法:
git
push origin :refs/tags/
[
tagname
]
总结一下,初始化git的操作:
$
"# test"
>>
README.md
$
git
init
$
git
add README.md
$
git
commit -m
"first commit"
$
git
remote add origin https://github.com/NightGlory/test.git
$
git
push -u origin master
分支branch
查看分支
git
branch
分支创建
git
branch
(
-b
)
[
branchname
]
-b
:创建并切换到该分支上。
查看各分支当前所指的对象
git
log --oneline --decorate
分支切换
git
checkout
[
branchname
]
此时可以查看分支历史即指向和分叉情况:
git
log --oneline --decorate --graph --all
分支合并
先切换到主线上来:
git
checkout master
再合并分支:
git
merge
[
branchname
]
删除分支
合并后可以删除分支:
git
branch -d
[
branchname
]
查看每个分支的最后一次提交
git
branch -v
查看哪些分支已经合并到当前分支
git
branch --merged
--no-merged
:未合并分支
查看远程分支
$
git
ls-remote
$
git
remote show
同步远程分支
git
fetch origin
查看设置的所有跟踪分支
git
branch -vv
从服务器上拉取本地没有的数据但不合并
git
fetch
从服务器上拉取本地没有的数据且尝试合并
git
pull
删除远程分支
git
push origin --delete
[
branchname
]
变基
先执行变基:
$
git
checkout
[
branchname
]
$
git
rebase master
再执行合并:
$
git
checkout master
$
git
merge
[
branchname
]
三方变基
git
rebase --onto master server client
这表明:取出
client
分支,找出处于
client
分支和
server
分支的共同祖先之后的修改,然后把它们在
master
分支上重做一遍。
然后可以快进合并分支了:
$
git
checkout master
$
git
merge client
再将server的修改也整合进来:
git
rebase master server
然后也可以快进合并分支了:
$
git
checkout master
$
git
merge server