Git学习笔记

Git的特征

1.Git每台电脑都有一个版本库,可以在本地做版本管理。
2.速度快,git的速度远超大部分版本管理系统,包括svn。
3.强大的分支管理功能。
4.活跃的开源社区,比如GitHub。

在这里插入图片描述

本地仓库创建

初始化一个本地仓库

git init
在同级目录下回出现一个隐藏的.git文件
在这里插入图片描述
在这里插入图片描述

查看配置

git config -l
在这里插入图片描述

增加配置

git config XXX
必须配置user.name 和 user.email
在这里插入图片描述
三级文件配置
一级:.git/config
二级:当前用户目录/.gitconfig
三级:git安装目录/etc/gitconfig
优先寻找一级配置文件,没有去找二级,再没有找三级

本地提交

在这里插入图片描述

提交到索引

git add -A代表全部

git add filename
git add . 把新增的文件、修改的文件都加入缓存库
git add -A 把所有的 新增、修改、删除的文件加入缓存库

提交到文件库

git commit

git commit -m ‘版本描述’

在项目文件夹中新增一个文件如’a.txt’时,该文件处于未跟踪状态(untracked)。未跟踪状态的文件使用此命令是无法提交的
git commit -am "版本描述"
git commit -a -m “版本描述” -m 不能写在 -a 前面
使用此命令则可以省略git add 把文件加入暂存区这一步
在这里插入图片描述

把本地缓存删除

git rm -r --cached .
在这里插入图片描述

git中的三类文件

被追踪的(tracked):已经加入文档库
不被追踪的(untracked):没有加入文档库
忽略的(ignored):忽略那些不需要管理的文件夹或文件

状态检查

查看状态

git status
在这里插入图片描述
在这里插入图片描述

忽略和排除

目录下建立一个.gitignore文件(可以有多个,影响范围当前文件及子文件)
touch .gitignore
在文件里添加要忽略的内容
通用模板

target/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans

.mvn
logs

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
front/.idea

### NetBeans ###
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/

/swagger-bootstrap-ui-front/.idea/

提交点

id:每一次commit都是一个提交点,唯一标识SHA1的id,id可以使用前4至7个数字表示
标签: git tag -a v0.2 4a80f64 (提交点SHA1的id的前7位)
在这里插入图片描述
在这里插入图片描述

删除标签

git tag -d wsh
在这里插入图片描述

日志

git log
git log --oneline 一行显示
git log --oneline --graph 会显示自己分支的提交点
wsh分支
master分支

创建分支

列出当前开发所有分支

git branch 默认会有master
在这里插入图片描述

从最新提交点上创建一个分支

git branch wsh

在这里插入图片描述

在指定提交点上创建一个分支

git branch wsh 提交点

切换分支

git checkout wsh

删除分支

git branch -d wsh

合并分支

git checkout master
git merge wsh

合并分支wsh 和主干master,合并后的提交点属于master

如果前面的标签和分支名冲突了merge会失败,删除标签就可以了
在这里插入图片描述
如果有冲突,使用指令模式merge的话,一般不能自动合并这些冲突,需要手动解决

取消合并的命令

git merge --abort

在这里插入图片描述

HEAD

HEAD节点代表最新的commit 显示信息git show HEAD
可用理解为节点盖楼,最新的在最上面

回退

回退: git reset 选项 提交点
选项: --hard 表示全恢复 提交点:可用ID或标签
git reset --hard v0.1

在这里插入图片描述

在Git中,用HEAD表示当前版本
所以回退到之前的版本是 HEAD^
上上一个版本就是HEAD^^^, 往上100个版本写100个^比较容易数不过来,所以可以写成HEAD~100

 git reset --hard HEAD^

查询所有提交点

git reflog 回退后需要反悔的话,需要通过此命令查找到所有操作的提交点
在这里插入图片描述
合并分支的起始点(不推荐使用)
合并分支reking和主干master,合并后的提交点属于主干master
git checkout master
git rebase reking
此命令合并后
git log 查不到reking
要使用git reflog查询

git远程仓库

与github连接需要通过加密通道,ssh和https

克隆文件至本地

git clone “远程地址” “本地文件名称”

推送本地修改至远程文档库

git push -u “远程连接名” "分支名"

fetch与pull

fetch是将远程主机的最新内容拉倒本地,不进行合并
git fetch “远程连接名” "分支名"
pull 则是将远程主机的最新内容拉下来后直接合并
git pull “远程连接名” "分支名"

远程连接

1.本地新建一个远程连接
git remote add “远程连接名” https://github.com/xxxxxx/xxxx-git.git
2.查看远程连接
git remote
3.查看远程连接详情
git remote -v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值