Shell 和 VIm 及 git常用的一些命令

工具.jpeg

Shell命令

常见命令格式:命令 [-options] [参数]

  • pwd (Print Working Directory) 查看当前目录

  • cd (Change Directory) cd /etc 切换目录

  • ls(List) 查看当前目录下的内容 如ls -al

  • mkdir (Make Directory) 创建目录 如mkdir blog 创建一个blog的目录

    image.png

  • touch创建一个文件 如touch index.html

image.png

cd blog 进入刚刚创建的blog目录,在这个目录里面touch index.html 创建一个index.html文件,

  • wc (Word Count) 数字信息统计wc index.html

  • cat 查看文件全部内容, cat index.html

  • cd .. 返回上一级目录

  • more/less 查看文件 如more index.html

    image.png

  • rm删除文件 如 rm index.html ,rm -rf blog

  • rmdir 删除文件夹

  • tab自动补全

  • tar 解压 文件

VI编译器命令

  • ZZ 保存退出
  • u撤销操作,可多次使用
  • dd删除当前行
  • yy复制当前行
  • p粘贴内容
  • i进入编辑模式,当前光标出插入
  • a进入编辑模式,当前光标后出入
  • :w保存
  • :q退出
  • :wq保存并退出
  • :e!撤销更改,返回上一次保存的状态
  • :q!不保存强制退出
  • :set nu设置行号

git命令

1.git 命令

新建一个文件夹, cd 进入 然后初始化 git 本地仓库

    1. git init 初始化仓库
  • 2.git status 查看当前状态 提交的状态

  • 3.git add -A(提交所有的) 提交本地文件到缓存区 -a可以是单独一个文件名称,代表添加摸个文件到缓存区

  • git add . 提交当前文件夹里面的所有文件

  • 4.git commit -m "提交信息" 将缓存区的东西提交到本地仓库

  • git checkout xxx.txt 放弃提交的文件

    • 配置用户名和邮箱

      git config --global user.email "xxxxxxxx@qq.com"
      git config --global user.name "xxxxxx"
      
  • 5.git reset --hard sha值 回退到某一个版本 sha哈希值

    git reset --hard sha 值 回退到某一个版本
    git reset --mixed(默认可以不写) sha 状回退到修改态
    git reset --soft sha 回退到暂存区状态

  • 6.git push 将本地仓库的内容提交到远程服务器

  • 7.git pull 从远程服务器更新

  • 8.git log 查看所有的提交日志

  • 9.git clone仓库地址

  • 10.git reflog 查看所有的SHA值

2.分支

  • 1.git branch fixBranch(分支名称) 开启分支

  • 2.git branch 查看当前分支 有*的代表当前正在工作的分支

  • 3.git checkout fixBranch 切换到fixBranch的分支上

  • 4.git merge fixBranch 分支合并 将 fixBranch上的内容合并到master上

  • 5.git branch -d fixBranch 删除分支

3.1 远程操作

  • 1.git branch test 创建本地分支

  • 2.git push origin test 将本地分支推送到远程分支

  • 3.git branch -r -d branch-name 删除本地分支

  • 4.git push origin --delete test 删除远程分支

3.git共享仓库

    1. git clone 仓库地址
  • 2.git clone --bare 地址 创建共享仓库

  • 3.git push 仓库地址 提交代码到 共享仓库

  • 共享仓库看不到工作区

  • 但是里面有内容 他是共享的,别人只能往里面放代码,但是不让修改 如果想要获取就直接克隆
    比如code文件夹下有2个用户user1user2,用户user1下有项目目录,那么user2想要获取就必须lone,克隆的地址必须是有.git文件的项目目录

  • 本地共享

1.在user1中初始化一个 仓库,然后穿件文件index

image.png

2.克隆文件user1文件 (注意:user1隐藏的有.git文件)
在克隆的时候,必须有.git文件的目录
修改index文件的内容,

image.png

3.user1获取user2 更改index文件的代码内容

image.png

4.代码冲突

文件冲突: 多个人同时改了同一个文件的同一行就会引起冲突

5.查看远程仓库地址

  • git remote -v查看远程仓库地址 默认 origin

  • git remote add仓库名称 仓库地址

  • 修改远程仓库地址

    • 1.直接修改

      git remote origin set-url [url]

    • 2.先删除后增加

    git remote rm origin
    git remote add origin [url]

    • 3.直接修改config文件

6.生成公钥和私钥

生成 公钥/私钥 ssh-keygen -t rsa

7.git tag 标签

  • 标签可以针对某一时间点的版本做标记,常用于版本发布
  • git tag v0.1.2
  • 创建附注标签
  • git tag -a v0.1.2 -m “0.1.2版本”
  • 切换到标签
  • 与切换分支命令相同,用git checkout [tagname]
  • 用git show命令可以查看标签的版本信息:
  • git show v0.1.2
  • 给指定的commit打标签
  • git tag -a v0.1.1 9 fbc3d0
  • 标签发布
  • 通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
  • git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
  • git push origin –-tags # 将本地所有标签一次性提交到git服务器
  • git tag -d v0.1.2 # 删除本地标签
  • git push origin :refs/tags/v0.1.2 删除远程tag
  • git tag 查看本地的tag

9.gitignore 忽略文件

  • 创建 .gitignore文件, 图形化界面不能创建
  • node_modules/ node_modules下的所有文件都不提交
  • node_modules/*.jpg node_modules/123.jpg图片不提交但是node_modules/coderYJ/456.jpg可以提交
  • .idea/* .idea 下的所有文件都不提交
  • *.png 忽略所有的 .png 结尾的文件
  • !xxoo.png 但排除 xxoo.png

想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交

  • git rm -r --cached .
  • git add .
  • git commit -m 'update .gitignore'

10.git差异化

  • 比较暂存区和当前的版本的差异 此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
    也就是修改之后还没有暂存起来的变化内容。
  • git diff
  • git difftool 分屏比较
  • git diff sha1 sha2 比对2个不同的版本
  • git difftool sha1 sha2 分屏对比

11.文件回退到暂存区

  • git checkout -- 文件名称

12.保存工作区

  • git stash 保存内容(入栈) 切换分支的时候不会让另一个分支看到
  • git stash pop 回到最初保存的内容

13.md5加密 不可逆

  • echo -n 123456 | openssl md5
  • -n就表示不输入回车符
  • 结果 e10adc3949ba59abbe56e057f20f883e

14.base64加密/解密

  • 加密

    • echo abc | openssl base64
    • YWJjCg== (编码结果)
  • 解密

    • echo YWJjCg== | openssl base64 -d
    • abc (解码结果)
  • wc 统计字节数

    wc -l filename 报告行数
    ​ wc -c filename 报告字节数
    ​ wc -m filename 报告字符数
    ​ wc -w filename 报告单词数

ssh公钥和秘钥

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容