版本控制器-git

引言

不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,比如:

"报告-v1"

"报告-v2"

"报告-v3"

"报告-确定版"

"报告-最终版"

"报告-究极进化版"

...

每个版本有各自的内容,但最终会只有⼀份报告需要被我们使用 。

但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越

多,文件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各自都是修改了什么

吗?

文档如此,我们写的项目代码,也是存在这个问题的!!

1.git

1.1git是什么

为了能够更方便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个文件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和 版本迭代的⼀个管理系统,同时也方便多⼈协同作业。 目前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的⽂件,例如 doc、excel、dwg、 dgn、rvt等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项目中的源代码文件

1.2git安装

bash 复制代码
yum install git

1.3如何在git中下载项目到本地

首先需要在git中复制项目的链接,然后在xshell中创建好一个放置代码的目录,其中url就是我们复制的链接;

git clone---获取远端仓库

bash 复制代码
git clone [url]

1.4如何查看仓库状态

bash 复制代码
git status

M README.md # 已修改但未暂存

M index.html # 已修改并已暂存

A newfile.txt # 新增文件(已暂存)

?? untracked.c # 未跟踪文件

D deleted.txt # 已删除

1.5 如何忽略掉不想本地托管上传的文件

bash 复制代码
.gitignore

① 在项目根目录创建

bash 复制代码
touch .gitignore

② 或用编辑器创建

bash 复制代码
vim .gitignore

③基本语法规则

注释以 # 开头

忽略所有 .log 文件 *.log

bash 复制代码
secret.txt
config.ini

忽略目录(结尾加 /)

bash 复制代码
node_modules/
build/
dist/

不忽略某个特定文件(用 !)

bash 复制代码
!important.log     # 除了 important.log

忽略模式匹配

bash 复制代码
temp-*.txt        # 忽略所有 temp- 开头的 .txt 文件
*.py[cod]         # 忽略 .pyc, .pyo, .pyd 文件

1.6如何查看项目的提交历史记录

bash 复制代码
git log

显示谁 、在什么时候 、为什么(提交信息)修改了代码。

bash 复制代码
# 查看最近5次提交
git log -5 --oneline

# 查看今天的提交
git log --since="today" --oneline

# 查看本周的提交
git log --since="1 week ago"

1.7git pull

(1) git pull 是 从远程仓库拉取最新代码并合并到本地 的命令。

复制代码
git pull = git fetch + git merge
拉取更新   下载远程代码   合并到本地

(2)基本语法

bash 复制代码
git pull [远程名] [分支名]

(3)多人协作场景

bash 复制代码
# 你开始工作前
git pull origin main      # 1. 拉取最新代码

# 你编写代码...
vim file.c
git add file.c
git commit -m "添加新功能"

# 提交前再次拉取(防止冲突)
git pull origin main      # 2. 拉取别人提交的代码

# 如果有冲突,解决冲突
# git add 解决后的文件
# git commit

# 推送你的代码
git push origin main

1.8三板斧

1.8.1 git add

将代码放置在刚才下载好的目录里,将需要用git管理的文件告诉git;

bash 复制代码
git add [⽂件名]
1.8.2 git commit

Git 提交命令,将暂存区的更改保存到本地仓库。

bash 复制代码
git commit -m "提交说明"
1.8.3 git push

同步到远端服务器上

bash 复制代码
git push

需要填⼊用户名密码. 同步成功后, 刷新 Github ⻚⾯就能看到代码改动了。

总体来说,

bash 复制代码
# 1. 修改文件
vim file.c

# 2. 添加到暂存区
git add file.c

# 3. 提交到本地仓库(就是你现在问的)
git commit -m "修复bug:优化了文件读取逻辑"

# 4. 推送到远程仓库(可选)
git push
相关推荐
Android系统攻城狮18 分钟前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
codigger44 分钟前
别再靠"最终版-改"活下去了:一篇讲透 Git 与 GitHub
git·程序员·github·编程·控制版本
吹什么轩1 小时前
linux系统复习:Ext 文件系统(一个文件在磁盘上到底长什么样)
linux·运维·服务器
吹什么轩1 小时前
linux系统复习:全景串联
linux·运维·服务器
m0_547486661 小时前
《Ubuntu Linux操作系统与实验教程》全套PPT课件2026
linux·ubuntu·操作系统
John_Hui1 小时前
第 1 篇:VMware 安装 Ubuntu 24.04.3 Server
linux·运维·ubuntu
kyle~1 小时前
C++ 原子操作、内存模型与无锁并发编程
linux·开发语言·c++·操作系统
2401_869769592 小时前
gdb_进程概念
linux
小猪佩奇TONY2 小时前
Linux 内核学习(19) --- linux swap 机制
linux·学习·swap·kswapd
第404号工位3 小时前
浏览器的“无痕模式”是当代最大安慰剂?我用 30 行 JS 提取硬件指纹,跨网络换代理照样精准锁定你
linux·人工智能·python