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会指向新的版本】

相关推荐
jingshaoqi_ccc4 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年4 小时前
Git简单命令
git·gitee·github·batch命令
qq_312920115 小时前
开源入侵防御系统——CrowdSec
安全·开源
饶了我吧,放了我吧6 小时前
计算机网络实验——无线局域网安全实验
计算机网络·安全·web安全
TracyCoder1237 小时前
Apache Shiro 框架详解
安全·apache·shiro·认证·登录
用户1259265423207 小时前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
字节跳动安全中心8 小时前
当AI智能体学会“欺骗”,我们如何自保?来自火山的MCP安全答卷
安全·llm·mcp
muyun28009 小时前
安全访问云端内部应用:用frp的stcp功能解决SSH转发的痛点
运维·安全·ssh·frp
一只毛驴10 小时前
谈谈对git stash的理解?
git
橘子洲头10 小时前
Sigma-Aldrich细胞培养基础知识:细胞培养的安全注意事项
其他·安全