touch 创建文件
mkdir 创建一个文件夹
cat 查看文件内容
echo “ ” > 覆盖里边的内容
>> 往里边添加内容
mv 重命名文件夹
pwd 查看当前目录
rm -rf 删除文件
rwx (所有者) r-x (所属组) r-x (其他人)
r : read 读取
w : write 写
x : execute 执行
git add . 提交到暂存区
git commit -m "" 提交到对象区
git log 查看日志
git status 查看状态
撤销
git rm --cached +文件 执行撤销 如果第一次从暂存区撤销到工作区 使用这个命令
git restore --staged + 文件 都是从暂存区撤销到工作区,但是命令不一样,因为此时第二次加入到工作区了,以后每一次撤销都是用这个命令
多种查看日志的方式
git log -n 查看近几次的日志
git log --pretty=oneline 单行查看日志
检出:
git restore + 文件 执行检出
对于一个文件修改(modify) 或者是 删除(delete) 那么文件名之前就会有对应的操作动作
modified : a.txt
delete : a.txt
检出指的是移除前面的动作 恢复到动作之前的文件状态
git 忽略
1.创建.gitignore
2.编辑.gitignore文件
a.txt 忽略单个文件
*.txt 忽略一类文件
*.js !c.js 忽略某一类文件 除了特定文件
#git会自动忽略空目录
/a 忽略一个非空的目录
/a/* 忽略目录下的某些文件名
/a/*/*.txt --> /a/o/*.txt /a/b/*.txt
/a/**/*.txt --> /a/o/*.txt /a/o/c/d/*.txt
分支的创建 切换 删除 查看
注意: 在没有任何 commit 的情况下 不能创建新的其他分支
//创建分支
git branch 分支名
//查看分支 git branch
git branch -v 查看分支的同时查看分支所指向的commit
//切换分支
git checkout 分支名
//创建并切换分支
git checkout -b 分支名
//删除分支
git branch -d 分支名
合并:
指针移动的过程叫做合并
git merge dev
/*
Updating e07ebf0..830ef05
Fast-forward //前进 ff
ff合并的细节:
1. 两个分支归于从同一个commit
2. fast-forward 会丢失分支信息
git log --graph
*/
git merge --no-ff dev
/*
1.使用--no-ff合并主动合并的分支会指向下一个新的commit版本
2.--no-ff 不会丢失分支信息
git log --graph --pretty=oneline --abbrev-commit
*/
每个分支对同一个文件 的同一行有不同的实现
初始创建一个init版本,然后创建一个dev分支,再创建另一个master分支,两个分支里边都有同名的一个文件a,在两个分支合并的时候两个分支中同名的a文件会产生冲突,然后打开vi编辑器把里边的多余东西删除
然后进行add和commit进行提交另外一个它自动产生的一个新分支,他会将两个相同的a文件的内容放到一起而且不会产生冲突