版本控制器-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
相关推荐
吴声子夜歌7 分钟前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落30 分钟前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud12331 分钟前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
星间都市山脉32 分钟前
Android16 SystemService.onBootPhase 调用时机
android·java·linux·windows·ubuntu
初願致夕霞37 分钟前
Linux 进程间通信(IPC)机制详解:管道、FIFO 与 System V 共享内存
linux·服务器·c++
ynchyong38 分钟前
Linux nohup 后台服务合并标准错误输出到一个文件
java·linux·运维
xx~t1 小时前
嵌入式——51单片机3
linux·c语言·嵌入式硬件·51单片机
傲世仙尊1 小时前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
星源~1 小时前
Linux - Trae Code Linux 环境嵌入式开发指南
linux·mcu·嵌入式·trae code
曦夜日长1 小时前
Linux系统篇,进程概念(三):进程状态详解、僵尸进程与孤儿进程的深度解析、Slab机制的了解
linux·运维·服务器