git 命令快速阅览查看
因为在黑马课程里面学习git时,我也截了图,并且也在word文档里面保存了,但是如果想快速查看时,看ppt,实在是有点眼花缭乱,找不到重点,这里把一些常用命令记录在这里,以供自己快速查阅。
对了,我看的黑马课程是瑞吉外卖课程里面,第二小节,git的学习,视频链接地址:黑马吉瑞外卖 是真的讲的很好,值得一看
菜鸟教程里面也讲解的很详细,可以查阅
git常用命令
git 全局设置
- 设置用户信息
– git config --global user.name “itcast”
– git config --global user.email “hello@itcast.cn” - 查看配置信息
– git config --list
获取git仓库
- 在本地初始化一个Git仓库(不常用)
– 新建一个空的文件夹,在里面右击鼠标,打开 Git bash 窗口
– 执行命令 git init
– 当我们看见生成了 .git隐藏文件夹时,说明git本地仓库创建成功 - 从远程仓库克隆
– git clone url
工作区、暂存区、版本库 概念
- 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文本版本信息等
- 工作区:包含.git文件夹的目录就是工作区,主要用于存放开发的代码
- 暂存区:.git文件夹中很多文件,其中有一个index文件就是暂存区,暂存区是一个临时保存修改文件的地方
git 工作区中文件的状态
本地仓库操作
- git status 查看文件的状态
- git add */filename 将文件的修改加入暂存区
- git reset hello.txt 取消该文件的zanc
- git reset --hard 009… 回到该时间线
(回到该时间线以后,该时间线之后的所有代码将丢失) - git commit -m “add hello.txt” hello.txt
- git log 查看日志
- git blame 查看指定文件的修改记录,以列表形式显示修改记录
远程仓库操作
- git remote 查看当前本地仓库是否关联远程仓库(只能查出别名)
- git remote -v
结果: origin https://… - git remote add origin url 将该本地仓库和指定远程仓库关联上
- git clone url 选择一个空的文件夹,将远程仓库上所有的文件clone下来,适合第一次拉取
- git pull origin master 从远程仓库上拉取内
- git push 推送到远程仓库
** 本地仓库和远程仓库建立连接的命令写错了,正确如下:**
** git remote add origin url **
git pull origin master --allow-unrelated-histories
分支操作
git branch 列出所有本地分支
git branch -r 列出所有remote远程分支
git branch -a 列出所有all本地和远程分支
git branch b1 创建b1分支
git branch -d b1 删除b1分支(delete)
git branch checkout master 切换到master分支
git push origin b1 将该分支推送到远程仓库
- git merge b1 当前合并b1分支
– git merge b1 -m “合并分支时输入的信息” 就不会进入vim编辑message了
– 在合并分支时,该分支(master)不能有内容没有add 或者commit ,否则在合并时会报错,需要在合并期间完成add 和 commit
标签操作
git reset 将暂存区的文件取消或者是切换到指定版本
使用 git log 查看commit提交的历史版本
不过,回到最初的那个时间线之后,这个时间线之后的代码都会丢失
标签:
git tag 列出已有的标签
git tag v1.0 创建标签
git push origin v1.0 将标签推送至远程仓库
git checkout -b master v2.0 从master分支里面检出标签v2.0
git clone --branch 3.4.1 url
其中,–branch 指定 Tags号,后面的网址是目标仓库地址,下载3.4.1版本
标签操作和git reset 操作的区别:
标签像一个快照,或者说一个照片,我们的代码是不断根据需求修改的,所以在不断的更新换代,但是我们可以通过标签,回到那一个固定的时间点。
我自己个人的理解哈,git reset 主要还是commit的次数太多了,数不胜数,而且回到以前,这个时间点之后的代码就没有了,而快照就像无数个时间节点的备份,可以创建新的空仓库去回到那个时间节点,而不会影响现在的时间节点。
(如果有地方错误,请在评论区告诉我谢谢)
补充
git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。
git diff 有两个主要的应用场景。
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat