Git1️⃣版本控制 & Git
1、版本控制(❗)
1.1、VC
版本控制(Version Control)
对软件开发过程中,各种程序代码、配置文件及说明文档等文件变更的管理。
主要场景:
- 备份与还原
- 协同开发:解决版本同步和开发通信问题,提高协同开发效率。
- 追踪文件变更:包括时间、提交者、变更内容等信息。
1.2、VCS
版本控制系统(Version Control System)
用于版本控制的系统。
集中式 | 分布式(DVCS) | |
---|---|---|
版本库位置 | 中央服务器 | 本地仓库、远程仓库 |
工作方式 | 从中央服务器下载代码,将修改提交到中央服务器 | 从远程仓库获取最新版本,将修改提交到本地仓库,再同步到远程仓库 |
联网 | 必须联网 | 工作时无需联网,同步到远程仓库时才需联网 |
示例 | SVN 和 CVS | Git |
2、Git
2.1、说明
Git:为 Linux 开发而生,开源的分布式控制系统(DVCS)
- 1991-2002:大部分 Linux 内核维护工作花费在提交补丁、保存归档等琐事。
- 2002:启用 BitKeeper 分布式版本控制系统,管理和维护 Linux 代码。
- 2005:BitKeeper 开始收费,Linux 开源社区(尤其是 Linux Torvalds)着手开发 Git。
设计目标
- 简单设计
- 并行开发:对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
- 速度和数据量:有能力高效管理类似 Linux 内核一样的超大规模项目
- 完全分布式:去除中央服务器的概念,每台机器都维护一个版本库
涉及 Linux 知识
- 工具:
- Xftp 可视化操作文件
- vim 编辑器
- 命令:
- ls/ll:查看当前目录
- cat:查看文件
- touch:创建文件
- mv:移动/重命名文件
2.2、安装
-
从官网下载
.exe
安装包,打开安装即可。 -
安装完成后,鼠标右键有以下选项:
-
Git GUI:图形界面
-
Git Bash:命令行工具
-
2.3、配置
2.3.1、Git Bash 中文乱码
-
在
Git Bash
中执行:git config --global core.quotepath false
-
在
${git_home}/etc/bash.bashrc
文件中追加内容:export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
2.3.2、用户信息(❗)
Git 提交时会包含提交者的信息,需提前配置。
(通常是 Git 平台/团队中的用户名)
-
设置用户信息:进入
Git Bash
中执行git config --global user.name "用户名" git config --global user.email "邮箱"
-
查看配置信息:
git config --global user.name git config --global user.email
2.3.3、指令别名
为常用指令配置缩写,减少重复编写工作。
-
创建
.bashrc
文件:-
创建:进入用户目录的 Git Bash(
C:\users\用户名\
)# 创建文件:~ 代表用户目录 touch ~/.bashrc
-
内容:配置指令别名,示例如下
# 查看目录内容 alias ll='ls -al' # 输出 Git 提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
-
-
加载生效:在
Git Bash
中执行source ~/.bashrc
3、Git 工作流程(❗)
核心工作流程
-
拉代码
- clone:从远程仓库中克隆代码到本地仓库
- fetch:从远程仓库中更新代码到本地仓库,不合并
- checkout:从本地仓库中检出(切换)分支
- pull:从远程仓库中更新代码到本地仓库,自动合并后放到工作区(相当于 fetch + merge)
-
推代码
-
add:工作区指定内容 → 暂存区
-
commit:暂存区所有内容 → 本地仓库
-
push:本地仓库代码 → 远程仓库
-