Linux Shell命令总结

git bash使用的是linux命令,创建文件夹用mkdir+文件夹名、创建文件用touch 或者 vim

1 实际命令分析

1.1 git log --follow --pretty=format:%H 文件名 | xargs -I{} sh -c ‘git show {}:文件名 > 文件名.{}’

提取git中某个文件的所有版本并按顺序命名:

git log --follow --pretty=format:%H 文件名 | xargs -I{} sh -c 'git show {}:文件名 > 文件名.{}'

简略解释版本:

git log --follow --pretty=format:%H 
//按照一定的格式输出 ,输出某个文件的历史提交哈希值

| xargs -I{} 

//xargs 一般是和管道(I)一起使用
 //-I{} //xargs 的一个选项 -I,使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉;对应这里,前面输出的是哈希值,这里面"{}"代表的就是哈希值,后面的"{}"也是前面的哈希值。

sh -c 
//暂时不清,下面有解释

git show {}:文件名 > 文件名.{} 
 //git show '哈希值':文件名:输出这次提交,这个文件夹的内容, ">" 将内容输出到 后面的文件中,并覆盖后面文件内容。

详细解释版本:

1.git log --follow --pretty=format:%H 文件名

 git log //查看git提交历史

--follow //有没有follow会有差异,一个『浮于表面』,只认历史上与当前文件名匹配的提交记录,一个认准文件的『真身』,不管当前文件曾经披着什么的『皮』,始终追溯它的真身。**所以建议加上follow。(这里还不是很清楚)**

--pretty=format:%H 文件名 //使用不同于默认格式的方式展示“某文件”提交历史,format后面跟占位符

Table 1. git log --pretty=format 常用的选项
选项	说明
%H

提交的完整哈希值

%h

提交的简写哈希值

%T

树的完整哈希值

%t

树的简写哈希值

%P

父提交的完整哈希值

%p

父提交的简写哈希值

%an

作者名字

%ae

作者的电子邮件地址

%ad

作者修订日期(可以用 --date=选项 来定制格式)

%ar

作者修订日期,按多久以前的方式显示

%cn

提交者的名字

%ce

提交者的电子邮件地址

%cd

提交日期

%cr

提交日期(距今多长时间)

%s

提交说明


  1. | xargs -I{} sh c
|  //表示管道,上一条命令的输出,作为下一条命令参数,如 echo ‘yes’ | wc -l

xargs -I //


sh -c

Linux使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式。
【新建空文件】
方式一 : $ touch test.sh
方式二 : $ echo “” > test.sh
【写内容到文件】
如 test.sh 文件中内容:
$ echo “信息” > test.sh

但有时会出现权限不够的问题,这时就可以使用 sh -c

利用 “sh -c” 命令,它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。具体用法如下:
$ sudo sh -c ‘echo “第二条内容” >> test.sh’

1.2 git branch -r | xargs -d/ -n1 | grep -v ‘origin’ | xargs -I{} sh -c 'mkdir “C:\Users\76585\Desktop\try{}” ’

用途:给每一个远程分支建立单独的文件夹,文件名就是分支名

分析:

1.  git branch -r //显示远程分支。注意,本地分支可能只有一个,master这种。但远程分支可能有很多个。
2. | xargs -d/ -n1 // -d -n都是xargs的参数,详细可以去查文档。-d/  以"/"为分隔符;-n1,每行输出一个。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值