Git基本了解和基础命令

本文详细介绍了Git,包括其特点、文件的三种状态、安装步骤、常用命令如初始化、提交、版本回溯、版本比较、文件操作及分支管理。Git是一个强大的分布式版本控制系统,适合快速高效的项目版本管理。通过学习,你可以掌握如何在Git中进行代码的版本控制和团队协作。
摘要由CSDN通过智能技术生成

目录

Git简介

特点

文件的三种状态

安装

Git的命令

初始化Git

基础命令

版本回溯

版本比较

文件删除

更改文件名字

文件忽略

分支


Git简介

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

特点

优点:

适合分布式开发,强调个体。

公共服务器压力和数据量都不会太大。

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

缺点:

资料少(起码中文资料很少)。

学习周期相对而言比较长。

不符合常规思维。

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

文件的三种状态

Git 有三种状态,你的文件可能处于其中之一: 已提交(committed)已修改(modified)已暂存(staged)

  • 已修改表示修改了文件,但还没保存到数据库中。

  • 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

  • 已提交表示数据已经安全地保存在本地数据库中。

安装

windows安装路径:Git

Git-2.37.1-64-bit.exe点击运行,全部默认。

Git的命令

初始化Git

$ git init
Initialized empty Git repository in I:/gitStudy/ssm/git-study/.git/

#绑定个人信息
> git config --global user.name "名字"
> git config --global user.email "邮箱"
#检查信息是否写入成功
> git config --list 
​
#创建一个文件
$ touch a.txt
​
#插入数据123
$ echo 123 >a.txt
​
#提交到到缓冲区
$ git add .
​
#提交到本地
$ git commit -m 'first'

基础命令

#提交到到缓冲区
$ git add .
​
#提交到本地
$ git commit -m 'first'
​
#状态查询
$ git status
​
#查看历史操作
$ git log
windows下的换行符是CRLF而Unix的换行符格式是LF。git默认支持LF。

上面的报错的意思是会把CRLF(也就是回车换行)转换成Unix格式(LF),这些是转换文件格式的警告,不影响使用。

一般commit代码时git会把CRLF转LF,pull代码时LF换CRLF。

版本回溯

#一个~表示一个版本    ~~表示两个     ~10表示10个 
$ git reset --hard head~
​
#使用版本号回溯
$ git reset --hard 7d82dcc4083f82a0ade4da8927d55bd952778876
​
#查看历史的操作
$ git reflog
​
#使用历史的编号回溯到以前的的
$ git reset --hard a7d54f1

--hard : 回退版本库,暂存区,工作区。(因此我们修改过的代码就没了,需要谨慎使用)

reset 不仅移动 HEAD 的指向,将快照回滚动到暂存区域,它还将暂存区域的文件还原到工作目录。

--mixed: 回退版本库,暂存区。(--mixed为git reset的默认参数,即当任何参数都不加的时候的参数)

--soft: 回退版本库。就相当于只移动 HEAD 的指向,但并不会将快照回滚到暂存区域。相当于撤消了上一次的提交(commit)。

版本比较

#没有add提交前但是修改了可以对比
$ git diff
​
#最新的一次进行add提交比较
$ git diff head
​
#仓库的和add提交的暂存区比较
$ git diff --cached a7d54f1f1974a1c5ebbc107f37db7d8891d78ee2
​
#俩个版本进行比较
$ git diff a7d54f1f1974a1c5ebbc107f37db7d8891d78ee2 7d82dcc4083f82a0ade4da8927d55bd952778876

文件删除

#直接在文件夹反键删除,文件会在暂存区
#将缓存区的文件恢复
$git checkout --a.txt
#使用 $git commit 就可以删掉
​
#文件会在工作目录被删掉
$git rm a.txt
​

更改文件名字

文件a.txt的名字变成了b.txt
$git mv a.txt b.txt

文件忽略

先创建.gitignore文件

$ echo *.temp >>.gitignore命令代表所有.temp文件被忽略

分支

为了开发的时候不影响项目,所以不要再项目上直接开发,创建一个分支,功能完成后合并分支到项目

#分支的创建
$ git branch feature-login
​
#分支的切换
$ git checkout feature-login
​
#分支合并
$ git merge feature-login
​
#分支删除
$ git branch -d feature-login

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值