• Ubuntu:

    agi: 安装包

    agp: 删除包和配置文件

    agu: 更新本地包索引文件

    agug: 更新所有包

    git:

    gaa	
    #git add --all 添加所有修改到暂存区
    
    gcam
    # git commit -a -m 添加注释 比如 gcam "update"
    
    gp
    # git push 提交

    systemd:

    • sc-start (即 sudo systemctl start 下同)
    • sc-stop
    • sc-reload
    • sc-restart
    • sc-status

    arch linux:

    • pacin (sudo pacman -S)安装软件包
    • pacreps (pacman -Ss) 搜索软件包
    • pacre (sudo pacman -R) 删除软件包
    • pacrem (sudo pacman -Rns) 删除软件包包括依赖和配置文件
    • pacupg (sudo pacman -Syu)更新所有软件包

    dnf:

    • dnfi 安装包
    • dnfgi 安装组包
    • dnfr 删除包
    • dnfu 更新包
    • dnfs 搜索包

  • git commit -m "`date`" # Wed Aug 28 10:22:06 CST 2019
    git commit -m "`date +'%Y-%m-%d'`" # 2019-08-28
    git commit -m "Updated: `date +'%Y-%m-%d %H:%M:%S'`" # Updated: 2019-08-28 10:22:06
    current="`date +'%Y-%m-%d %H:%M:%S'`"
    msg="Updated: $current"
    git commit -m "$msg" # Updated: 2019-08-28 10:22:06

  • 之前在使用git时就经常遇到这样的报错,起初并没有太在意,并没有影响到工作,但是今天在进行仓库分离的时候,使用jekyll build编译网站的时候

    如上图,满屏幕的warning,一看到warning都不舒服的我看到这么多warning瞬间都起鸡皮疙瘩了,于是google了一下,整理出如下内容

    一、CR、LF、CRLF之间的关系

    其实这是一个历史原因,有兴趣的同学可以google一下,这里只简要说一下他们之间的关系

    这三种都是三类系统中对于回车换行的含义:

    Linux/Unix  > Line Feed       > LF > 换行
    Mac         > Carriage Return > CR > 回车
    Windows/Dos > CR LF  > 回车 换行
    

    所以windows的换行符是CRLF,正如我在写这篇文章的时候,vscode的右下角已经标出这个使用CRLF换行

    也就说,你在windows系统上创建的文件都是CRLF换行的,但是我在使用bash命令生成文件时,bash是GNU shell啊,GNU又是类UNIX啊,所以追踪溯源,他生成的文件肯定是LF换行的。

    但是这里其实也是很奇怪的,git起初也是linux上专属的,但是人家挺有责任心的,你在windows上运行我,我就有义务给你把LF换成你的CRLF,故此就生出这满屏幕的wraning了。

    二、如何关闭这个警告

    其实很简单,我们只需要在git bash中执行

    git config --global core.autocrlf false
    

    这样就把他的自动转换关闭了。

    但是这是不需要担心的,因为现在的各种IDE都支持多种换行风格,即使在windows系统中也能正常显示LF换行的文件。

    (完)


  • 首先我们要生成SSH

     $ ssh-keygen -t rsa -C "email@mail.com"
    

    将生成的文件夹下的.ssh/id_rsa.pub文件里的内容复制到SSH keys

    设置用户名和邮箱

    $ git config --global user.name "username"
    $ git config --global user.email "email@mail.com"
    

    初始化当前目录的项目

    git init
    

    在项目的根目录会生成.git文件夹

    在该项目文件夹下新建一个文件,然后把该文件送到暂存区

    echo "# test" >> README.md
    git add .  //将工作区所有修改添加到暂存区
    git add filename //将指定文件添加到暂存区
    git status  //列出变更文件
    

    将暂存区修改添加到本地仓库

    git commit -m '备注信息'
    

    添加远程仓库,并将上述改动push到远程仓库

    git remote add origin https://github.com/username/test.git
    git push -u origin master
    

    一般情况下,自己的项目都是添加ssh连接

    git remote rm origin   //移除之前添加的origin
    git remote add origin git@github.com:username/test.git       //使用ssh添加新的origin
    

    放弃暂存区修改

    git checkout -- filename  //放弃暂存区修改(修改不在)
    git rm --cached filename  //放弃add(修改还在,但产生一条delete记录)
    git reset HEAD filename   //同上(没有delete记录)
    git stash     //暂时放弃未提交的修改
    git stash pop  //恢复
    

    分支操作

    /*查看分支*/
    git branch     //所有本地分支
    git branch -r  //所有远程分支
    git branch -a  //所有远程分支和本地分支
    /*创建分支*/
    git branch branchName     //留在当前分支
    git checkout -b branchName   //创建并切换分支
    git branch --set-upstream-to=<remote>/branchName  //建立本地分支与远程分支的追踪关系
    git branch --track branchName  [remote branch]   //新建一个分支,并与远程建立追踪关系
    git checkout branchName  //切到指定分支
    /*分支合并*/
    git pull origin branch   //取回远程更新并与本地分支合并
    git fetch origin branch //取回远程更新
    git merge branch  //合并指定分支到当前分支(产生提交记录)
    git rebase branch  //合并指定分支到当前分支(不产生提交记录,比较适合有强迫症的)
    git cherry-pick commitId  //将与commitId对应的提交合进当前分支