git的一些基本用法

git的一些基本用法

前言

本文主要根据这一段时间对git的使用情况做一下记录,以后当忘记时还可以进行查阅。既然是记录就难免给人感觉像流水账。作为入门级的,感觉廖雪峰的git教程写的很好,扫盲了很多知识点。

git的基本操作

创建版本库----git init

当我们想把一个文件夹变成git可以管理的仓库时,只需要一条git init即可,执行之后会在当前目录下面多一个.git的目录,这个.git目录就是来跟踪和管理版本库的。

#基本命令
git init
添加文件到版本库—git add

此命令将要提交的文件信息添加到索引库中(将修改添加到暂存区),它通常一次添加一个文件,也可以一次添加多个文件或者添加指定的目录,包括子目录。

#一次添加一个或多个文件到暂存区
git add [file1] [file2] ...
#添加指定的目录,包括子目录
git add [dir]
文件的提交----git commit

git commit命令将暂存区内容添加到本地仓库中。

#提交暂存区到本地仓库,添加一条备注信息,如果没有-m选项,Git 会尝试为你打开一个编辑器以填写提交信息
git commit -m [message]
#提交暂存区的指定文件到仓库
git commit [file1] [file2] ... -m [message]
#-a 参数设置修改文件后不需要执行 git add 命令,直接来提交
#注意这里的文件要是之前提交过的,只是修改了内容。如果是一个新创建的文件,这条指令没用
git commit -am [message]
撤销命令—git restore

git restore命令是撤销的意思,也就是把文件从暂存区撤销,回到未被追踪的状态。

#撤销工作区的改变,使文件恢复到改变前的状态
git restore <file1> <file2>...

#从暂存区撤销,回到未被跟踪的状态。--staged 参数就是表示仅仅恢复暂存区的
git restore --staged <file>...

#当前目录所有暂存区文件恢复状态
git restore --staged .
查询仓库当前状态----git status

git status命令用于显示工作目录和暂存区的状态,使用 git status 命令能看到那些修改被暂存到了,哪些没有。当执行git status的时候,返回结果大致可分为3个部分:
在这里插入图片描述

#基本的命令格式:
git status

#简短的输出结果
git status -s
查询提交信息—git log

git log命令用于显示提交日志信息。

#基本命令
git log
#简单信息
git log --pretty=oneline

#查看电线图,多用于查看分支合并,图形化
git log --graph
查询真正的所有提交—git reflog

git log有一个很大的缺点是,一旦发生git reset,回退版本之后的提交信息将不在显示,如果我们想再回退回去,就会差不到相关记录。

#基本操作
git reflog
版本回退—git reset

git reset命令用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。
git reset的三种模式可以用下图很好的解释:
在这里插入图片描述

#--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
#--soft (--mixed)都不会改变工作区的内容
#根据提交的id进行回退  
git reset --hard commit_id
#回退到上一版本
git reset --hard HEAD^
#回退到前100个版本
git reset --hard HEAD~100
工作区和暂存区

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
在这里插入图片描述

删除文件—git rm

如果要将一个文件从本地仓库中进行删除,可以用git rm进行删除,并用git commit进行提交。例如:
在这里插入图片描述

#如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中
git rm --cached <file>
#将文件从暂存区和工作区中删除
git rm  <file>

git的分支管理

git创建一个分支—git checkout git switchgit branch
#git checkout创建一个分支, -b参数表示创建并切换
git checkout -b <branchname>

#git branch创建分支
git branch  <branchname>

#git switch创建分支,-c参数表示创建并切换
git switch -c <branchname>
切换分支—git checkout git switch
#git checkout切换分支
git checkout <branchname>

#git switch切换分支
git switch <branchname>
查看分支—git branch
#查看本机分支
git branch

#查看本机和远程分支
git branch -a
合并某分支到当前分支—git merge
#合并某分支到当前分支
git merge <branchname>

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

#禁用Fast forward模式合并分支
git merge --no-ff -m <message> <branchname>
删除分支—git branch
#删除分支
git branch -d <branchname>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值