常用命令第一篇

1.0 目前常用git命令

1.1 git clean

git clean -df .     // 清除未跟踪的文件和目录,并且不会删除已经被Git跟踪的文件。
git clean -dxf ./    // 用于清除未跟踪的文件和目录,并且强制删除已经被Git忽略的文件。

1.2 git checkout

git checkout .      // 撤销当前工作目录中所有已修改但尚未提交的文件,将它们恢复到与最近一次提交时相同的状态。
git checkout branchName // 切换到branchName 分支下
git checkout -b branchName // 创建并切换至新分支branchName
git checkout - // 切换到前一个分支

1.3 git reset

三个恢复等级
--soft:仅将头指针恢复,已经add的暂存区及工作空间的代码都不变。 
--mixed:将头恢复掉,已经add的暂存区也会丢失掉,工作空间代码不变。 
--hard:一切就全都恢复了,头变,aad的暂存区消失,代码恢复到以前状态。
eg:
    git reset --hard <commit-ID> // 回退到某一次的commit提交

1.4 git diff

   git diff 查看文件或分支之间的差异

git diff <filename> --staged  // 查看工作区与暂存区的差异(默认为--staged)
git diff --cached // 查看暂存区与仓库区(当前 commit) 的差异
git diff <commitBefore> <commitAfter> // 查看两个commit的差异
git diff <commit> // 查看工作区与某个 commit 的差异(上一次commit:HEAD)
git diff [first-branch]...[second-branch] // 显示两次提交之间的差异
git diff HEAD -- ./test  // 查看工作区与当前分支上一次提交的差异,但是局限于test文件
git diff topic master // 查看topic分支与master分支最新提交之间的差异

1.5 git status

   git status是用于查看工作目录和暂存区当前状态的核心命令。

git status -s // 精简输出
例如结果为:MM welocme
第一列字符表示版本库与暂存区之间的比较状态。
第二列字符表示暂存区与工作区之间的比较状态。
含义
' ' (空格)表示文件未发生更改
M 表示文件发生改动。
A 表示新增文件。
D 表示删除文件。
R 表示重命名。
C 表示复制。
U 表示更新但未合并。
? 表示未跟踪文件。
! 表示忽略文件。

未跟踪和忽略文件会显示相同的两列,如 ??。

git status // 非精简输出,看提示
git status -uno // 不显示未跟踪文件(如临时文件、日志等),使输出更干净。
git status -uall // 显示所有未跟踪文件的详细信息

1.6 git log

git log //默认的查看log信息

1.7 常用命令组合

1.7.1 git status + git clean -n

  通过先使用 git status 查看工作目录的状态,然后再使用 git clean -n 进行试运行,可以确保在执行清理操作之前对将要删除的文件有清晰的了解,避免误删重要文件。

# 显示工作目录的状态
git status

# 执行试运行,查看将要删除的文件列表
git clean -n

1.7.2 git reset --hard + git clean -f

   通过先使用 git reset --hard <commit-hash> 恢复到指定的提交状态,然后再使用 git clean -f 删除未跟踪文件,可以实现清理工作目录并恢复到指定提交状态的效果。commit-hash为提交后的hash值。

# 撤销之前的提交,同时清除未跟踪文件
git reset --hard <commit-hash>

# 执行清理操作,删除未跟踪文件
git clean -f

1.7.3 git checkout + git clean -f

  通过先使用 git checkout <branch-name> 切换到指定分支,然后再使用 git clean -f 删除未跟踪文件,可以确保在切换分支时清理工作目录,避免未跟踪文件对新分支的影响。

# 切换到指定分支,同时清除未跟踪文件
git checkout <branch-name>

# 执行清理操作,删除未跟踪文件
git clean -f

  个人使用过的组合,git clean -df . 与 git checkout . ,以及 git checkout . ,git reset --hard等。

# 清除未跟踪的文件和目录, 撤销当前工作目录中所有已修改但尚未提交的文件,将它们恢复到与最近一次提交时相同的状态。
git clean -df . 
git checkout .

# 清除未跟踪的文件和目录, 将当前的工作目录重置为指定的提交(commit),并丢弃所有未提交的修改。如果没有指定一个具体的提交,那么默# 认将会重置到最新的提交。这个操作是不可逆的,所以请谨慎操作。
git clean -df . 
git reset --hard

2.0 目前常用Linux命令

2.1 grep

   grep 条件匹配搜索

grep "linux" long.txt  //搜索 long.txt 文件中的 “linux”一词,忽略大小写敏感性。
grep -c "linux" long.txt  // 搜索 long.txt 文件中的 “linux”一词出现的次数。
grep -nr content // 从当前目录及子目录的文件内搜索content,显示行号

2.2 vim

  编辑文件(vi vim)

vi 文件名              //打开需要编辑的文件
--进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑:      :q
-强制退出:      :q!
-保存并退出:    :wq

操作步骤示例
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车     //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车     //撤销本次修改并退出编辑
补充
vim filename.txt +10                 //打开文件并跳到第10行
vim -R /etc/passwd                     //以只读模式打开文件

2.3 find

   find 在层次结构中搜索文件

find . -name "*.c"     //将目前目录及其子目录下所有延伸档名是 c 的文件列出来 
find . -type f         //将目前目录其其下子目录中所有一般文件列出 
find . -ctime -20      //将目前目录及其子目录下所有最近 20 天内更新过的文件列出 

2.4 mkdir

mkdir dirName //创建目录dirName
mkdir -p xx/yy/dirName // 递归创建目录xx/yy/dirName

2.5 cd

cd   // 进入根目录
cd - // 回退到上次的路径
cd .. // 进入父目录

2.6 pwd

pwd // 显示当前目录所在路径

2.7 mv

   mv 移动或重命名文件

mv source_file destination_folder/   //将源文件移动到指定目录下 
mv source_file_name destination_file_name  // 将当前目录下的文件改名

2.8 cp

   cp 复制命令

cp source destination 从源复制到目的
cp aaa.c bbb/vvv/ //将aaa.c文件复制到目录bbb/vvv下
cp aaa.c bbb/vvv/ccc.c //将aaa.c文件复制到目录bbb/vvv下, 且改名为ccc.c
cp -r a/ test/  //将当前路径下的a目录复制到test目录下
// -p 复制时保留属性  时间戳、文件权限 甚至所有权cp -p 源文件 目标目录

2.9 常用命令组合

# grep 配合vim 查找文件内容,内容为content,.../xx/yy为查找到的路径,n表示多少行 
grep -nr content 
vim .../xx/yy +n

# 递归复制目录文件, 作用为将指定目录下的oo文件,递归复制到当前目录下,且递归创建文件夹
mkdir -p xx/yy/zz/
cp ....xx/yy/zz/oo .
posted @   平安顺遂233  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示