GIt基础以及基本使用

Git操作:
集中式:SVN版本控制系统
分布式:Git版本控制系统
git地址:
win:https://git-scm.com/download/win
mac:https://git-scm.com/download/mac

查看git版本:git --version

查看git配置:
git config --list

git初始化配置:
git config --global user.name “damu”
git config --global user.email [email protected]

###区域:
工作区
暂存区
版本库
###对象
Git对象:代表文件的一次版本
echo “test content v1” > "test.txt
git hash-object -w ./test.txt
find .git/objects/ -type f
git cat-file -p d670460b4b4aece5915caf5c68d12f560a9fe3e4
git cat-file -t d670460b4b4aece5915caf5c68d12f560a9fe3e4
查看暂存区:
git ls-files -s
git update-index --add --cacheinfo 100644 560a3d89bf36ea10794402f6664740c284d4ae3b test.txt
上面命令解释:
100644:表明是一个普通文件
100755:表示一个可执行文件
120000:表示一个符号链接
–add:因为此前文件不在缓存区中,首次需要add
–cacheinfo: 因为要添加的文件位于git数据库中,而不是位于当前目录下,所以需要 --cacheinfo
test.txt:给暂存区文件取得文件名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
树对象:代表项目的一个快照是一个树对象
git write tree
提交对象:代表项目的一个版本
echo “first commit” | git commit-tree a54b3b3622784e67ee8540676988b15a35a366a7 -p 父提交对象(第一个提交对象没有)
基础linux命令:
clear:清除屏幕
echo ‘test content’:往控制台输出信息,第二个是创建有一个文件
在这里插入图片描述
ll:展示当前目录下所有子文件
find 目录名
find ./ :查看当前目录下的子目录以及子孙级目录
在这里插入图片描述
find 目录名 -type f
find ./ -type f :查看当前目录下的所有文件(不包含目录)

rm 文件名:删除文件
mv 源文件 重命名文件:重命名
cat 文件url:查看对应文件内容
vim 文件url(在英文模式下)
按i进入插入模式 进行文本编辑
按esc或者:进行命令的执行
:wq保存并退出
:q! 强制退出
:set nu 设置行号

初始化仓库: git init
清屏:
win:cls
linux:clear

高级命令:
初始化新仓库:
git add ./ :先生成git对象放到版本库,再将git对象放到暂存区(还没有生成树对象)
add之后:在这里插入图片描述
git commit -m “这是项目的一个版本 包含了项目的初始化功能”
commit之后:生成一个树对象,一个commit对象

git操作最基本的流程:
创建工作目录 对工作目录进行修改
git add ./ (在工作目录下)
相当于几个底层命令:
git hash-object -w 文件名
git update-index …
git commit -m “注释内容”
git write-tree
git commit-tree

查看当前文件状态:
git status
在这里插入图片描述
git diff :当前那些更新还没有暂存
在这里插入图片描述
git diff --staged :查看那些内容已经被暂存还没有被提交
在这里插入图片描述
git commit :的时候需要的注释信息很长时,直接git commit(注意,不要将注释写在下面的注释里
在这里插入图片描述
一般是需要先git add ./ 保存到暂存区,再git commit -m ”注释信息“
在这里插入图片描述
这里可以直接使用:(跳过暂存区,直接commit)
git commit -a -m “注释信息”

删除:rm lixiang.txt

改名:mv laoli.txt laolili.txt

在这里插入图片描述
查看日志:
git log
git log --oneline :每一条日志占一行
git reflog : 查看完整日志 (按q键退出)
代表项目的每个版本在这里插入图片描述
git rm 文件名 :删除 后,直接git commit -m ”del 。。。。“
git mv 文件名 :重命名后,直接git commit -m “del …”
在这里插入图片描述
创建分支:
git branch :显示分支列表
git branch 分支名;
切换分支:
git checkout 分支名;
(详细)显示全部分支:
git log --oneline --decorate --graph --all
删除分支:
git branch -D 分支名(强制删除分支)
查看最后一次分支的信息:
git branch -v

给命令配置别名:(命令较长时需要加双引号)
git config --global alias.别名 “log --oneline --decorate --graph --all”
创建分支并切换到该分支:git checkout -b 分支名
分支合并:
1.先切换到主分支,在合并
快进合并:git merge 想要合并的分支
当两个分支不在一条链路上时:
在这里插入图片描述
合并分支时,会产生矛盾,需要手动把矛盾项删除
在这里插入图片描述
修改后,commit,之后解除矛盾,回到主分支
在这里插入图片描述
此时可以删除另一个分支:
git branch -d 分支名
在这里插入图片描述
git stash:将临时文件放入栈中(原本没有commit的文件,这里会自动commit)
git stash list:查看栈中的元素
在这里插入图片描述
git stash apply(应用栈中存储的文件,但不会删除栈中的文件)
在这里插入图片描述
手动删除栈中文件:git stash drop 栈中文件名
在这里插入图片描述
git stash pop :相当于git stash apply 加上git stash drop

撤回(后悔药)
工作区:
如何撤回自己在工作目录中的修改:git checkout – 文件名
暂存区:
撤回暂存:git reset HEAD 文件名
版本库:
1.提交文件内容有误:
vim 文件,进去修改文件内容
2.提交注释有误;
git commit --amend : 即可进入日志编辑(改完日志会自动将暂存区中的文件提交)
在这里插入图片描述
reset三部曲:
第一部:
git reset --soft HEAD~(带着分支一起移动) : 将HEAD指针前移上一个commit对象,
git checkout 分支名:不会带着分支一起移动;
在这里插入图片描述
git reset --soft hash值:跳到对应hash值出在这里插入图片描述
git reset [–mixed] HEAD~: 撤回到上一次commit对象,
会改变暂存区,
移动HEAD带者分支一起移动,(工作目录不变)
在这里插入图片描述
第三部:
git reset --hard HEAD~ :(危险用法)
会改变暂存区,
移动HEAD带者分支一起移动,
(工作目录改变,覆盖切换前的分支的工作目录)
在这里插入图片描述
打tag:
创建tag:
git tag v1.0
git tag v1.0 hash值(可以在任意地方打tag)
在这里插入图片描述
删除tag:
git tag -d v1.0
查看标签:
git show 标签名
列出标签:
git tag
git -l “标签名” :(列出改版本之后所有的版本tag)
检出标签:
git checkout 标签名
使用Eslint
确保你的电脑安装了 node 和 npm环境
创建项目
npm init -y
本地安装:
npm i eslint --save-dev
下面 相当于:1.生成配置文件:npx eslint --init
2.检查js文件:npx eslint 目录名
命名规则:
字符串必须使用单引号
语句结尾不能有分号
文件最后必须要换行
在这里插入图片描述
设置package.json
“scripts”
“lint”: “eslint ./src”,
“lint:create”: “eslint --init”
}
在这里插入图片描述
npm run lint:create :(run 后面的是脚本名字就是上面的第二行)
接下来就是定义eslint会生成下面文件,提供编码规则
在这里插入图片描述
npm run lint :执行检查代码

光有git和eslint还不行,哈需要有哈士奇(husky)
https://github.com/typicode/husky
安装哈士奇:
npm install husky --save-dev  
必须先有一个git仓库
所以需要先git init  :创建仓库
所以需要先卸载哈士奇,删除下面这行

在这里插入图片描述
输入:npm i 命令 会自动卸载哈士奇
然后git init
安装哈士奇:npm install husky --save-dev
在这里插入图片描述
安装完成之后会多很多钩子
配置:
// package.json
{
“husky”: {
“hooks”: {
“pre-commit”: “npm test”,
“pre-push”: “npm test”,
“…”: “…”
}
}
}
在这里插入图片描述
git status :查看状态
要排除文件:
在这里插入图片描述
向上面这种文件不可以提交,需要排除
在这里插入图片描述
在这里插入图片描述
排除该文件
git add ./
git commit -m “注释信息”

github的使用:
在这里插入图片描述
在这里插入图片描述
仓库名称 + 描述 + 初始化仓库不要选

在这里插入图片描述
出现这个代表成功
1.创建远程仓库;
2.创建本底仓库
3.为远程仓库配置别名
4.推送本地仓库到远程仓库
5.成员克隆远程仓库到本地
6.项目经理邀请成员加入团队
7.成员推送提交到远程仓库
8.项目经理更新成员提交内容

3:
显示远程仓库的git别名:
git remote -v
git remote add 别名 仓库地址
在这里插入图片描述
git config --list
在这里插入图片描述
给用户配置别名:
git config user.name ''lixiang"
git config user.email “[email protected]
4.
git push 别名(taobao) 分支名(master)

在这里插入图片描述
5.
git clone url(下面红框中的地址)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.
修改源码文件:
git add 文件名
git commit 文件名
git push 别名 分支 (输入用户名,密码)(这里的别名可以直接为url

在这里插入图片描述

7.项目经理更新修改
git fetch 别名 (将修改同步到远程跟踪分支上)
git merge 远程跟踪分支

跟踪分支:
git branch -u 分支名

发布了19 篇原创文章 · 获赞 0 · 访问量 395

猜你喜欢

转载自blog.csdn.net/Lixiang1008/article/details/105206746
今日推荐