linux的一些命令行
命令 | 含义 | 使用环境 | cmd对应 |
---|---|---|---|
ls | 列出当前目录下的文件列表 | linux,git base,powershell | dir |
clear | 清空已显示的控制台内容 | linux,git base | cls |
touch aa.txt | 新建一个aa.txt文件 | linux,git base | |
rm -fr aaa | 强制删除aaa文件,或aaa目录及其子文件 | linux,powershell | rd和del |
cat cs.js | 查看cs.js文件内容 | linux,git base | type |
diff a.html b.html | 比较a.html和b.html的不同 | linux,git base | fc |
cp cs.txt cs2.txt | 复制文件cs.txt为cs2.txt | linux,powershell | copy |
mv cs.txt aaa | 移动cs.txt文件到aaa目录 | linux,powershell | move |
d: | 切换盘符到d盘 | ||
mkdir aaa | 在当前目录创建一个aaa文件夹 | ||
cd aaa | 进入aaa目录 | ||
cd .. | 返回上层目录 | ||
mkdir aaa && cd aaa | 创建aaa目录并且进入aaa目录 | ||
ipconfig /all | 查看ip地址等信息,注意g和/之间有个空格 | ||
ping 192.168.0.1 | ping链接,注意只有域名或ip |
vim等操作
用vim操作修改一个文件的文本内容
- ls 查看当前目录可访问的文件或文件夹
- vim .git/config 打开.git目录下的config文件
- 移动光标到要修改的位置,按i进入insert和replace的切换,进行插入或者覆盖。数字键盘旁边的insert键可以切换
- 按Esc键退出编辑
- 按shift+:键,输入wq回车,或者q!回车,退出vim
vim命令参考 进入vim <文件名> # 进入或创建文件; 所有文件都能用vim打开 按i可切换insert和replace
退出 按esc退出编辑,按shift+:进入命令 输入
- q 强制退出\
- wq 保存并退出 输入代码后,wq保存退出会进入检查界面,检查代码是否符合pep8的规范,之后再:q直接退出。\
- q! 不保存退出
vim .git/config 打开.git目录下的config文件
\[remotye "origin"]
url = http://xxxname:xxxpassword@...........
name的位置填写昵称,password填写git密码,这样远程拉取代吗时就不用买每次都输入密码了。
git
常用命令集合
命令 | 含义 | 说明 | |
---|---|---|---|
git add -A | 提交所有变化到暂存区 | git add --all的缩写 | |
git ci -m "xxx" | 将暂存区的代码提交到本地仓库 | xxx是说明文字,ci是commit的缩写 | |
git pull origin br1 | 从远程的br1分支拉取代码到本地 | ||
git push origin br2 | 将本地仓库同步到远程仓库的br2分支 | ||
git fetch | 更新远程分支 | ||
git br | 查看所有的本地分支 | *号标出来的是当前所在的分支,颜色也会不一样 | |
git br -a | 查看本地的远程的所有分支 | 红色的是远程分支, br是branch的缩写 | |
git co br1 | 切换到(本地的)br1分支 | co是checkout的速写,如果本地没有br1分支则会报错 | |
git co -b br3 | 新建一个br3分支,并切换到该分支 | ||
git br -D br1 | 删除本地的br1分支 | ||
git push origin --delete br1 | 删除远程的br1分支 | ||
git br -m oldBr newBr | 把本地oldBr分支名称修改为newBr | ||
git remote -v | 查看本地仓库对应的远程 | ||
git st | 查看本地修改的内容(包括文件的新增,修改,删除) | 没有被add的内容是红色的。被add,但没有被commit的内容是绿色的 | |
git co . | 撤销所有文件的修改和删除(不包括新增) | 作用于是还没有被add的文件 | |
git co aa.js | 单独撤销某一文件的修改 | 同上 | |
git clean -df | 撤销所有新增的文件 | 作用于是还没有被add的文件 | |
git reset . | 撤销所有被add的内容,使其变为修改了,但还没有被add的状态 | 作用于被add了,但还没被commit的文件 | |
git log | 打印出所有commit的记录 | 能看到 commitid和时间等信息 | 可以按q退出 |
git log --pretty=oneline | 已更友好的形式展现commit记录 | 只能看到commitid和备注 | |
git reflog | 列出所有git相关操作的记录 | 操作id可以用来回退代码 | |
git reset --hard id | 回退到某个对应id的代码版本 | 可以是commitid或者操作id | |
git init | 在当前目录生成一个.git文件夹 | 这是一个隐藏的文件夹,主要放置git的配置文件等 | |
git remote add origin xxx | 将本地仓库和远程仓库进行关联 | 会在.git目录里写入内容,xxx建议是http开头的链接 | |
git config --user.name "xxx" | 不建议加--global,因为很多时候会有多个git帐号 | 会在.git目录写入内容 | |
git config --user.email "xxx" | 不建议加--global,因为很多时候会有多个git帐号 | 会在.git目录写入内容 | |
git log -p XXX-XXX data/data/data.json | 查看上一个提交记录中,对应文件修改了哪些内容 | XXX-XXX为分支名 后面为文件路径 | |
git reset master --hard | 在git co .和git reset没有效果时,可使用这个命令强制重置 |
几种git add的区别
- git add -A 提交所有变化 git add --all的缩写
- git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add --update的缩写
- git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git commit -a
加了-a,在 commit 的时候,能帮你省一步 git add ,但也只是对修改和删除文件有效, 新文件还是要 git add,不然就是 untracked 状态
已有的文件夹和远程仓库建立连接
- 打开目标文件夹,执行git init,生成.git目录;
- git config --user.name "xxx"和git config --user.email "xxx"都是可选的操作,建议第一次时加上;
- 执行git remote add origin xxx将本地仓库和远程仓库进行关联;
- 执行git pull origin master拉取远程代码。然后git add -A,git ci -m "xxx";
- 第一个提交远程的时候,可以选择git push -u origin br1或者git push origin br1。区别在于:加了-u之后,下次git pull和git push就不用在加origin master这样的后缀了。
文件的回退
- 如果已经add了,可执行git reset .(或者 git reset HEAD)撤销git add的内容,再用git co .撤销修改(文件的修改,和文件的删除),或者git co 7.js可撤销单独某个文件的修改或删除。可用git clean -df删除新增加的文件
- 如果还没有被add,可以选择git co .或者git clean -df来进行撤销
版本回退
通过git log
和git reflog
可以找到对应的commitid和操作id,然后用git reset --hard id
命令进行恢复,
在多人协作的分支上推荐用git revert
git revert和 git reset的区别:
- git revert 会新建一条 commit 信息,来撤回之前的修改。
- git reset 会直接将提交记录退回到指定的 commit 上。
git pull --rebase origin br1会已rebase的方法进行合并,更安全
pull的本质其实就是fetch+merge,也可以加入--rebase通过rebase方式合并
查看某文件的历史修改记录
查看一个文件的修改记录 git log --pretty=oneline index.phtml 会出现commit的哈希值和提交备注
git show hash值 查看某次提交的修改详情,如果内容太多会无法显示完整,需要按q键退出当前命令,也可以使用如下命令,将修改的内容打印成文本
git show hash值 >log.txt
参考: