Git基本使用指南及简单说明

本文旨在帮助大家简单入门Git,木有什么高深东西;)
用浅显易懂的话语解释各种常用git命令

Git简介

什么是Git?

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 -源于百度百科(2020.07.30)

Git来源:
Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git工作流程

我jio(觉)得了解Git的工作流程将有利于我们对Git的学习和认识
手绘
简单的画了,大家看看就好,记住其中缓存区和HEAD仓库(后文有写成版本库,大家先这么理解吧) 缓存区后文会经常提到。

Git基本使用

  • 常用指令

这里先列出几个常用命令方便大家查询(小白可以先跳过看下面解释说明)

命令作用
git init创建新的git仓库
git clone xxx克隆git仓库(xxx为仓库地址,可以是网络连接,后面会有解释)
git add (filename)将文件添加到缓存区
git commit -m “info”将文件提交到本地仓库
git status查看在你上次提交之后是否有修改
git branch (branchname)创建分支
git checkout (branchname)切换分支
git branch列出本地仓库当前所有分支
git branch -d (branchname)删除分支
git push origin xxx将本地仓库分支提交到远程仓库 xxx为分支名
git pull将更新你的本地仓库至最新改动,拉取代码
git reset --hard commitid回退到任意版本(commitid可使用下面git log查询到)
git checkout – filename
git rm filename删除版本库(仓库)中文件
git log提交日志(我们可以用 --oneline 选项来查看历史记录的简洁的版本)
更多指令大家可以自己探索,这里简单举例一些(主要原因博主敲不下去了:))
  • 基本操作

下面所有命令均在git bash(git默认安装后在开始菜单里面会有)中运行(Linux直接在命令行运行即可)

创建一个仓库

首先创建一个文件夹,这个文件夹地址就是你本地仓库的地址了。
git使用 git init来初始化一个仓库
git init初始化仓库
这样初始化后文件夹下会出现一个.git的文件夹(部分人可能执行上面步骤后却发现没有.git文件夹原因是因为.git是一个隐藏文件夹,可以使用dir这个命令来查询) 这个目录是用来跟踪版本管理的,所以没事不要改动里面的文件,否则会破坏git仓库。

添加文件 and 提交文件到仓库

首先我们这里需要明白一件事,git只可以跟踪文本文件(代码),它可以告诉你文本文件每次的改动,但是无法跟踪图片、视频这些二进制的文件,虽然可以使用git类版本控制工具管理,但是它无法告诉你每次二进制文件的变动地方。

  1. 我们先在test这个文件夹下新建一个文本文件名为“README.txt”

  2. 使用git add来将文件提交到缓存区,具体如下图
    git add添加文件至缓存区
    执行后如果会空出一行且没有任何提示说明添加成功

  3. 使用git commit 来将缓存区的文件提交到仓库如下图
    git commit提交文件
    其中-m 后的内容为提交备注(注意:内容需要使用’'单引号)

  4. 下面我们可以用git status来查询是否还有其它文件没有提交
    git status的使用
    我们可以看到提示没有文件没有提交到仓库了
    如果下面有出现文件名为绿色 说明该文件已经提交到了缓存但并未提交到仓库可以使用git commit来提交
    如果有文件名为红色说明该文件有改动但未提交到缓存区,可以使用 git add 提交到缓存区(重复上面步骤)
    0.0

  5. 使用git diff来看看文件到底进行了那些操作
    git dif
    其中git diff 后面添加需要查询的文件名,会对当前未添加至仓库的文件和仓库中已有文件进行对比。

回退历史版本

方法一:
当我们提交过很多次代码时,要查看提交历史时,我们可以用git log来查询历史提交记录git log
如果记录很多的时候看起来可能会很乱,所以可以在git log 后加–pretty=oneline git log --pretty=oneline 这样记录就会从最近的提交到最旧的一次提交排列。

现在我们获取到了提交历史记录,那要怎样回退到历史的版本呢?
我们可以使用 git reset --hard commitid其中commitid就是上图后面的那段字符串
git reset
方法二:
这里我们介绍下 git reset --hard HEAD可以退回到指定版本,那又要怎么查询版本呢?

可以通过git reflog命令来查询
git reflog
查询到了版本号后,我们就可以使用git reset --hard HEAD(HEAD换成你需要的版本号)命令来指定退回到某个版本 这样有点麻烦,当然如果你记得你提交过次数,也可以git reset --hard HEAD^这样即可退回到上一个版本。

那如果退回到上上个版本呢?

当然我们可以用git reset --hard HEAD^^以此类推,那如果有100个历史版本有怎么办呢?这时,我们就可以这样git reset --hard HEAD~100

撤销与删除文件

如果你有坚持看到这里,你会发现,我们一直说到这里都在说怎么添加文件,却从未说过怎么撤销操作,这里我们将介绍一下如果撤销与删除,毕竟

人非圣贤孰能无过

当你无意犯了一个错误,但在提交到仓库前发现了这个问题且使用git status发现还没有commit到仓库,这时就可以使用git reset HEAD filename把在缓存区的文件撤销
git reset HEAD filename
一般有时候开发者会删除一些不需要在使用的文件时,在删除后,当你在使用 git status时,git发现工作区和仓库文件不一致时,就会有提示,这时候可以使用git rm即可从版本库中删除该文件然后在git commit即可
git rm
当然在你误删文件且未使用’git rm’命令的时候也可以使用git checkout -- filename来恢复到版本库中最后一次提交的版本

仓库分支管理

在我们初始化仓库的时候我们会发现仓库路径后面会出现一个(master),这说明,在我们创建仓库中默认分支为master分支,那我们可不可以自己创建一个分支呢?
答案是可以的,下面先给大家介绍几个关于分支的命令吧。

git checkout -b branchname  创建并切换到该分支
git branch branchname  创建分支
git checkout branchname  切换到分支
git branch  查看当前分支
git merge branchname  合并分支到master分支
git branch -d branchname  删除分支

在这里插入图片描述
这里应该还是挺简单的,就简单演示一下吧,不过多解释了。

拉取(克隆)和提交仓库

这里先简单提下吧,后面应该会写一篇git与GitHub或gitee的使用(先给自己挖一个坑)

git clone xxx   xxx为远程仓库地址
git remote add origin xxx   关联远程仓库  xxx为远程库地址
git push     将我们的仓库推送到远程仓库

如果有什么问题欢迎大家指正!
本文仅简单介绍了一些git操作,还有更多大家就自己摸索了吧。
在写这篇文章的时候发现自己很多命令忘了。
虽然现在有很多工具都有集成git插件,可视化界面,可我觉得这种最纯粹的方式也应该是不能遗忘的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值