Git简单使用

2022/1/18 23:38:29

本文主要是介绍Git简单使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Git简介

1991年Linux创建了Linux,2005年Linux花了两周时间自己用C写了一个分布式版本控制系统:Git

分布式 vs 集中式

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。

那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

windows上Git的配置

打开 Git Bash 命令行输入:

git config --global user.name "Name"
git config --global user.email "mail"

备注: --global 参数表示这台机器上的所有Git仓库都会使用这个配置。

版本库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

步骤:

  1. 创建一个空目录
  2. 进入该目录,运行 git init 命令把这个目录变成 Git 可以管理的仓库。

创建仓库后目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的。

所有版本控制系统只能跟踪文本文件(如 txt文件 、网页)而不能跟踪二进制文件(如图片、视频)内容的变化,对于文本文件编码的选择推荐使用 utf-8 。【windows系统要避免使用自带的记事本编辑文本文件】

把文件放大 Git 的版本库

  1. 使用 git add file_name 告诉 Git ,把文件添加到仓库。【可以多次使用
  2. 使用 git commit -m "illumination for file" ,告诉 Git 把文件提交到仓库。

时光穿梭机

可以使用 git status 查看仓库当前的状态。

image-20220118195148917

上面的命令告知 test.txt 文件被修改了,但还没提交修改。可以使用 git diff 'filename' 查看做了哪些修改。

image-20220118195500398

提交修改到仓库

  1. git add test.txt
image-20220118195857089
  1. git commit -m 'modify test.txt'
image-20220118200015202

版本回退

可以使用 git log 命令查看最近到最远的提交日志,如果嫌输出的信息太多,看得眼花缭乱可以加上 --pretty=oneline

image-20220118201741153

回退

在 Git 中使用 HEAD 表示当前版本,也就是最新提交的 bc2c... ,上一个版本就是 HEAD^ ,上上一个版本就是HEAD^^ ,也可以写成 HEAD~2 形式。

使用 git reset 命令回退版本,如 git reset --hard HEAD^

image-20220118202658499

可以看出版本已经回退

image-20220118203103587

撤销回退

虽然 git log 命令已经看不到最开始那个版本的 id ,但只要当前的窗口没关闭还有机会复原,找到要复原的 id 号使用命令 如git reset --hard bc2c

image-20220118203623417

如果窗口已经关闭但是想要恢复,也可以使用 git reflog 命令来找到要恢复版本的 commit id。:

image-20220118203920119

工作区和暂存区

工作区: 即电脑里面能看到的目录。

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

git-repo

git add 命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行 git commit 就可以一次性把暂存区的所有修改提交到分支。

管理修改

为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。

假设目前对一个文件进行了两次修改,仅在第一次修改后执行 git add 命令,两次修改后执行 git commit 命令;可以发现仅第1次修改被提交到分支而第2次修改并没有。原因:Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。

撤销修改【可以输入 git status 看提示】

image-20220118214108965

命令 git restore <file> 如:git restore readme.txt 意思就是,把 readme.txt 文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是 readme.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

  • 一种是 readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次 git commitgit add 时的状态。

命令 git restore --staged <file> 可以把暂存区的修改丢弃掉(unstage),不会再放回工作区。

删除文件【可以输入 git status 看提示】

image-20220118214718056

本地删除命令:rm file ,提交到暂存放区:git rm/add file ,提交到版本库:git commit -m 'XXX'

远程仓库



这篇关于Git简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程