Git基础操作

前言

本文会向您介绍如何安装git,以及快速地上手add,commit,push,版本回退操作

基础配置

关于windous上的安装git官网已经介绍的很清楚了,您可以直接点入链接windows安装

如果你的平台是centos,以centos7.6为例:

c 复制代码
⾸先,你可以试着输⼊git,看看系统有没有安装Git:
-bash: git: command not found
出现像上⾯的结果,Linux会友好地告诉你Git没有安装。
安装git:
 sudo yum -y install git
 //查看当前安装版本
 git --version

如果你的的平台是ubuntu,以ubuntu20.04为例

⾸先,你可以试着输⼊git,看看系统有没有安装Git:

c 复制代码
:Command 'git' not found, but can be installed with:
sudo apt install git
出现像上⾯的结果,Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
安装git:
sudo apt-get install git -y
//查看当前版本
git --version

安装完Git后,要做的第一件事就是设置你的用户名和邮件地址。

每一个Git提交都会使用这些信息,都会写入到你的每一次提交中

c 复制代码
git config --global user.name 'your_name'
git config --global user.email 'your_email@...'
其中 --global 是⼀个可选项。如果使⽤了该选项,表⽰这台机器上所有的 Git 仓库都会使⽤这个配置。如果你希望在不同仓库中使⽤不同的 name 或 e-mail ,可以不要 --global 选项

config的三个作用域 git config --local 只对某个仓库有效 git config --global 对当前用户所有仓库有效 git config --system 对系统所有登录的用户有效 显示config的配置,加上 --list git config --list --local git config --list --global git config --list --system

创建Git本地仓库

仓库是进行版本控制的一个文件目录。我们想要对文件进行版本控制,就必须先创建出一个仓库出来

创建⼀个 Git 本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏
你可以先madir 一个名为gitcode的目录,然后cd进入目录使用git init命令

当前⽬录下多了⼀个 .git 的隐藏⽂件, .git ⽬录是 Git 来跟踪管理仓库的,不要⼿动修改这个⽬录⾥⾯的⽂件,不然改乱了,就把 Git 仓库给破坏了

如果您是在windows下安装的,您可以打开创建的仓库目录

然后右键点击Git Bash Here

引入

当配置完基础信息后,接下来引入几个概念:

关于GIt
1、Git与其他版本控制系统的主要差别在于Git对待数据的方式,其他大部分系统以文件变更列表的方式存储信息, 并记录每个文件随时间逐步累积的差异。也就是说,每次版本迭代时,系统只记录文件与上一个版本的差异,而不是整个文件内容,从而减少了存储空间的占用。这种基于差异的实现方式可以提高版本控制系统的效率和可扩展性。
2、Git近乎所有的操作都是本地执行,只需要访问本地文件和资源,一般不需要来自网络其它计算机的信息,要浏览项目的历史,Git不需要连到服务器去获取历史,然后再显示出来,它只需要从本地数据库中读取。这也意味着在离线或者没有VPN的情况下,也能进行任何操作。
3、Git所有的数据在存储前都计算校验和,然后以校验和来引用。这意味着不可能在Git不知情的情况下修改任何文件内容或目录内容
• ⼯作区:是在电脑上你要写代码或⽂件的⽬录。
• 暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们把暂存区有时也叫作索引(index)。
• 版本库:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽是 Git 的版本库。这个版本库⾥⾯的所有⽂件都可以被 Git 管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。

git add与git commit

c 复制代码
git add
git add . 将当前目录下的所有修改的文件(刚创建的文件也算修改)添加到暂存区
git add <file> 将指定文件添加到暂存区
git add -i 进入交互模式,可以选择要添加的文件

添加文件

您可以使用git add 命令去跟踪一个文件

git add 是将⽂件添加到暂存区, git commit 是将暂存区的内容添加到本地仓库中。

我们可以观察下图git add操作即是将未跟踪的文件(untracked)添加到暂存区(Staged)

最后可使用

c 复制代码
git commit -m"日志message"
git commit -a 自动将所有已修改或已删除的文件添加到暂存区并提交修改

注意日志这里不要随便写,交代清楚提交了什么修改了什么

当我们使用vim改动test2文件中的内容

使用git status查看当前git的状态

git会提醒我们需要git add更新要提交的内容

工作目录下的每一个文件都不外乎两种个状态:已跟踪和未跟踪。已跟踪的文件是指哪些被纳入了版本控制的文件

在上一次的快照中有它们的记录,在工作一段时间后,它们的状态可能时为修改,已修改或已放入暂存区。

初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态

版本回退

第一种情况只变更工作区的内容

我们可以使用来恢复仅在工作区变更的内容(注意:这里是未有git add更改后的文件)

c 复制代码
git checkout -- Readme

第二种情况:已经add了,但没有commit

首先介绍一个命令

c 复制代码
git reset 命令语法格式为: git reset [--soft | --mixed | --hard] [HEAD]

• --mixed 为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内 容,⼯作区⽂件保持不变。 • --soft 参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。 • --hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命 令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重。 HEAD 说明: ◦ 可直接写成 commit id,表⽰指定退回的版本 ◦ HEAD 表⽰当前版本 ◦ HEAD^ 上⼀个版本 ◦ HEAD^^ 上上⼀个版本 ◦ 以此类推...

我们先用

c 复制代码
git log --pretty=oneline

git log --pretty=oneline" 是一个Git命令,用于显示提交历史的简洁视图。使用该命令可以将每个提交的信息显示在一行上

需要说明的是,我们看到的⼀⼤串类似 5608e...的是每次提交的 commit id (版本

号),Git 的 commit id 不是1,2,3......递增的数字,⽽是⼀个 SHA1 计算出来的⼀个⾮常⼤的数

字,⽤⼗六进制表⽰

利用git reset命令将暂存的内容退回为指定提交版本内容

我们再使用git checkout命令撤销在工作区中修改的内容

第三种情况:已经add并且commit了

对Readme进行修改

并且add和commit

git reset --hard HEAD^此命令将工作区、暂存区、版本库中的内容回退到上个commit的版本

小结

本文的分享就到这里啦,如果本文存在疏漏或错误的地方还请您能够指出!

相关推荐
但老师28 分钟前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y30 分钟前
git创建分支
git
研究是为了理解6 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT6 小时前
Git 的基本概念和使用方式
git
Winston Wood9 小时前
一文了解git TAG
git·版本控制
喵喵先森10 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu54311 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio13 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。14 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie615 小时前
在IDEA中使用Git
java·git