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都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
步骤:
- 创建一个空目录
- 进入该目录,运行
git init
命令把这个目录变成 Git 可以管理的仓库。创建仓库后目录下多了一个
.git
的目录,这个目录是Git来跟踪管理版本库的。所有版本控制系统只能跟踪文本文件(如 txt文件 、网页)而不能跟踪二进制文件(如图片、视频)内容的变化,对于文本文件编码的选择推荐使用 utf-8 。【windows系统要避免使用自带的记事本编辑文本文件】
把文件放大 Git 的版本库
- 使用
git add file_name
告诉 Git ,把文件添加到仓库。【可以多次使用】- 使用
git commit -m "illumination for file"
,告诉 Git 把文件提交到仓库。
时光穿梭机
可以使用
git status
查看仓库当前的状态。上面的命令告知
test.txt
文件被修改了,但还没提交修改。可以使用git diff 'filename'
查看做了哪些修改。提交修改到仓库:
git add test.txt
git commit -m 'modify test.txt'
版本回退
可以使用
git log
命令查看最近到最远的提交日志,如果嫌输出的信息太多,看得眼花缭乱可以加上--pretty=oneline
。回退
在 Git 中使用
HEAD
表示当前版本,也就是最新提交的bc2c...
,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,也可以写成HEAD~2
形式。使用
git reset
命令回退版本,如git reset --hard HEAD^
可以看出版本已经回退
撤销回退
虽然
git log
命令已经看不到最开始那个版本的 id ,但只要当前的窗口没关闭还有机会复原,找到要复原的 id 号使用命令 如git reset --hard bc2c
。如果窗口已经关闭但是想要恢复,也可以使用
git reflog
命令来找到要恢复版本的 commit id。:工作区和暂存区
工作区: 即电脑里面能看到的目录。
工作区有一个隐藏目录
.git
,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
git add
命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit
就可以一次性把暂存区的所有修改提交到分支。管理修改
为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。
假设目前对一个文件进行了两次修改,仅在第一次修改后执行
git add
命令,两次修改后执行git commit
命令;可以发现仅第1次修改被提交到分支而第2次修改并没有。原因:Git管理的是修改,当你用git add
命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit
只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。撤销修改【可以输入
git status
看提示】命令
git restore <file>
如:git restore readme.txt
意思就是,把readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一种是
readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是
readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次
git commit
或git add
时的状态。命令
git restore --staged <file>
可以把暂存区的修改丢弃掉(unstage),不会再放回工作区。删除文件【可以输入
git status
看提示】本地删除命令:
rm file
,提交到暂存放区:git rm/add file
,提交到版本库:git commit -m 'XXX'
。
远程仓库
这篇关于Git简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03Springboot企业级开发资料入门教程
- 2025-01-03SpringBoot企业级开发资料入门教程
- 2025-01-03Springboot微服务资料入门教程
- 2025-01-03Springboot项目开发资料:新手入门教程
- 2025-01-03Springboot项目开发资料:新手入门指南
- 2025-01-03SpringCloud Alibaba资料入门教程
- 2025-01-03SpringCloud Alibaba资料详解与入门教程
- 2025-01-03SpringCloud微服务资料入门教程
- 2025-01-03单元化架构最佳实践指南!
- 2025-01-03SpringCloud项目开发资料入门教程