Git版本控制工具--关于命令

Git版本控制工具

学习前言

在项目开发中,总是需要多个人同时对一个项目进行修改,如何高效快速地进行修改,且控制各自修改的版本不会和他人的进行重叠,这就需要用到Git分布式版本控制器了

作用

解决了一致性,并发性,安全性,实现了如

  • 代码还原
  • 并行开发
  • 统计工作量
  • 版本控制

这些功能,目前为主流版本控制器,除此之外,还有SVN,CVS,VSS,TF等工具来实现版本的控制

分布式版本控制的好处

每个人都可以从同一个远程仓库中将所需修改的文件,push到自己的本地仓库中,再调到工作区进行修改,而且本地仓库中也有一个完整的项目程序,++避免了如果服务器崩溃或者远程仓库出故障而导致项目代码全部丢失++,也可以高效地进行版本控制。

缺点

会增加本地存储的占用

Git的历史

Linux内核开源项目有许多参与者,但维护Linux需要进行大量的补丁以及保存归档的操作,因此项目组启用了一个其他公司所设计的分布式版本控制系统BitKeeper,但后来该公司收回了Linux内核开源项目免费使用该系统的权力,导致linux项目组需要另找一个分布式版本控制系统

因此,Linux的缔造者,Linus Torvalds花费了几周时间,做出了属于自己的版本系统,也就是Git

Git安装

Git Bash 推荐

Git CMD Windows风格的命令行

Git GUI图形界面,不建议初学者使用,而且该GUI也并不好用,不美观

Git如何使用

Git的粗略工作流程

图解:

linux常见命令

命令 作用
ls/ll 查看当前目录
cat 查看文件内容
touch 创建文件
tail n 1 以顺序或者倒序的方式查看文件中的某一行内容
yy 复制当行
dd 剪切当行
p 粘贴
vim 编辑文件(若没有该文件则创建)进入后默认为命令模式
i 进入输入模式
命令 作用
Esc 退出输入模式
:wq 在命令模式下保存修改并退出文件

Git-命令

  • git config --global user.name/email 用户名/邮箱 ==> 设置用户签名

    在刚开始安装git时需要进行设置,以后通过同样的命令可以进行修改

  • git init ==> 初始化本地仓库

  • git status ==> 查看本地仓库状态

  • git add 文件 ==> 添加到暂存区

  • git rm-cached 文件 ==> 将某文件从暂存区中删除

    只是删除了在暂存区中的数据,工作区中的文件没有被删除

  • git commit -m "日志信息" 文件 ==> 将暂存区文件提交到本地仓库

  • git reflog ==> 刷新并查看日志信息

  • git log ==> 查看详细的日志信息


[!IMPORTANT]

在进行Git命令操作中,我创建了两个.txt文件

初始化本地库

获得目录的管理权限,后续可以进行Git命令操作

查看本地库状态

第一行:目前处于哪个分支

第二行:是否提交过文件到本地仓库中

第三行:是否有东西可以提交(包含被追踪或未被追踪的文件)

----被追踪标识文件被放到了暂存区

添加文件到暂存区中

警告内容为当文件被再次创建及修改时,换行命令LF会改为CRLF

由于是在Windows环境中使用git,因此换行命令会改为windows中用的命令

将暂存区文件提交到本地仓库中

hello.txt被push到本地仓库后,没有被修改的工作区的源文件显示无需提交到本地仓库中,因为已经有了一个保存的版本在本地仓库中了

git log显示了详细的关于本地仓库文件的日志信息,包括上传时的msg,设置的用户签名以及上传的时间

区别

上下两个黄色字样的字体分别为++完整的版本号++ 和++精简的版本号++

当有提交到了本地仓库的文件,且后续被修改了,若没有存到暂存区中,则会出现红色字样的modiffied: hello.txt

存到暂存区后,则会显示出绿色字样

当再次上传到本地仓库,就会把之前同名的文件给更改,并替换对应的日志信息

[!IMPORTANT]

HEAD -> master指针永远指向最新的版本文件

版本穿梭

git reset --hard 版本号 --可以先通过git reflog查看想要回复到的版本的版本号

【HEAD->master会指向新的版本】

相关推荐
和你一起去月球6 分钟前
TypeScript - 函数(下)
javascript·git·typescript
我不是程序猿儿1 小时前
【GIT】TortoiseGit的变基(Rebase)操作
git
hzyyyyyyyu1 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全
网络研究院1 小时前
国土安全部发布关键基础设施安全人工智能框架
人工智能·安全·框架·关键基础设施
Daniel 大东3 小时前
BugJson因为json格式问题OOM怎么办
java·安全
EasyNVR7 小时前
NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案
安全·音视频·监控·视频监控
yyycqupt8 小时前
git使用(一)
git
黑客Ash10 小时前
【D01】网络安全概论
网络·安全·web安全·php
Kkooe11 小时前
GitLab|数据迁移
运维·服务器·git