0


Git下载安装及常用命令使用

文章目录


前言

之前在公司管理项目都是使用的SVN,SVN是集中式版本控制工具。

集中化的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。其缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

然而Git就不存在这样的缺点,可以这么说吧,Git是目前世界上最先进的分布式版本控制系统(没有之一)

一、Git概述及安装

1、Git概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式就是每个人手里都有一份自己的历史记录,而集中式只是集中服务器上有所有人的记录
在这里插入图片描述

  • 工作区:本地存放代码的位置,存放本地写的代码
  • 暂存区:临时存储,可将工作区的代码添加(add)到暂存区
  • 本地库:将暂存区的代码提交(commit)到本地库后才会生成历史版本

工作区和暂存区的代码是可以被删掉的,没有历史记录和历史版本

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

可以使用push将本地库的代码推送到远程库
在这里插入图片描述

2、Git下载及安装

1、下载地址:Git官网
在这里插入图片描述
2、安装时除了安装路径以及此页面外其余均保持默认即可
系统建议是选择第二个,第二个意味着我们可以在第三方软件以及windows cmd命令行使用Git,但是选择第二个会修改环境变量,一般我们不会用,所以选择第一个即可
在这里插入图片描述
安装成功后鼠标右键选择Git Bash Here可以进行Git的命令操作
在这里插入图片描述

二、Git常用命令

在这里插入图片描述

1、使用前配置(git config --global xx)

git config --global user.name 用户名
git config --global user.email 邮箱

设置用户签名:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

想更改这些信息时,可以直接编辑设置文件“~/.gitconfig”。这里设置的姓名和邮箱地址会用在Git的提交日志中。由于在GitHub上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。

将color.ui设置为auto可以让命令的输出拥有更高的可读性。

git config --global color.ui auto

在Git bash中输入这些指令后
在这里插入图片描述
在Windows C:\Users\用户名 目录下有个.gitconfig的文件会记录这些信息
在这里插入图片描述

2、初始化本地库(git init)

让git获得目录的管理权。

git init

建议直接从需要操作的目录中进入git bash
在这里插入图片描述
在这里插入图片描述
设置查看文件夹选项->显示隐藏的文件夹,此时可以在文件夹下看到.git文件夹
在这里插入图片描述
注:git bash中的命令是和linux通用的
.git目录里存储着管理当前目录内容所需的仓库数据。在Git中,我们将这个目录的内容称为“附属于该仓库的工作树”。

3、查看本地库状态(git status)

git status

在主分支下,当前没有提交(空)
在这里插入图片描述

4、本地文件添加到暂存区(git add xx)

1、先创建一个本地文件hello.txt,并写入hello git!内容

vim hello.txt

:wq保存
在这里插入图片描述
2、查看本地库状态

git status

未追踪的文件
在这里插入图片描述
3、本地文件添加到暂存区

gitadd hello.txt

git默认转换了换行符
在这里插入图片描述
查看本地库状态

git status

此时文件存在于工作区&暂存区。是可以删除且不显示历史版本的 (use “git rm --cached …” to unstage)
在这里插入图片描述
执行下述指令后,只删除了暂存区的,工作区依然存在

gitrm --cached hello.txt

如果不改变暂存区的文件,只把工作区文件删除(选中文件->右键->删除):
在这里插入图片描述
git会记录操作历史,可以用git restore xx恢复文件或手动将其从缓存区删除

git restore hello.txt

5、提交本地库,形成历史版本(git commit -m xx)

1、git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。

git commit -m "版本日志" 文件名

在这里插入图片描述
48f8429是版本

git status

2、当文件夹中所有文件都提交到本地库后,查看本地库状态,显示没有需要提交的
在这里插入图片描述
3、查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作

git reflog 

此时指针指向第一个版本
在这里插入图片描述
4、查看详细日志不仅可以看到不同版本,还能看到是谁提交的(显示用户签名),此时显示的版本号是完整的版本号

git log

在这里插入图片描述

6、修改文件

模拟企业中版本和代码的迭代

vim hello.txt
git status

修改文件后查看状态,可以看到修改记录,但此次修改还未加入暂存区:
在这里插入图片描述

git commit -m "my 2nd commit" hello.txt
git reflog

git是按行维护文件的,修改了其中的一行就会显示一行被修改(把修改之前的删掉,插入修改之后的):
在这里插入图片描述
此时指针指向第二个版本

7、历史版本及版本穿梭(git reset --hard xx)

1、查看历史版本

git reflog //查看版本信息(显示的版本号是精简版的)
git log //查看版本详细信息(显示完整版本号)
git log --pretty=short //仅显示第一行简述信息
git log --graph //可视化显示版本信息

只要在git log命令后加上目录名,便会只显示该目录下的日志。如果加的是文件名,就会只显示与该文件相关的日志。

git log命令只能查看以当前状态为终点的历史日志
git reflog命令可以查看当前仓库的操作日志。

git log hello.txt //查看关于该文件的改动
git log -p hello.txt //查看该文件改动前后的差别

git diff查看工作树、暂存区、最新提交之间的差别。

  • 执行git diff命令,如果工作树和暂存区的状态并无差别,什么都不会显示
  • 要查看与最新提交的差别,执行git diff HEAD

2、版本穿梭(回溯历史版本)
如果想要切换到之前的版本,可以先查看对应的版本号

git reflog
git reset --hard 48f8429
git reflog

在这里插入图片描述

  • 打开.git文件夹下的HEAD文件,可以看到ref: refs/heads/master,表明指针指向master,目前处在master分支上 打开".git\refs\heads\master"文件可以看到当前指向的提交版本的哈希值。在这里插入图片描述 版本穿梭会直接刷新工作区当前的文件内容
  • Git 切换版本,底层其实是移动的 HEAD 指针,而不是创造很多副本在这里插入图片描述

我的qq:2442391036,欢迎交流!

标签: git svn

本文转载自: https://blog.csdn.net/qq_41839588/article/details/130041844
版权归原作者 须尽欢~~ 所有, 如有侵权,请联系我们删除。

“Git下载安装及常用命令使用”的评论:

还没有评论