# Linux Git 入门教程
Git 是一个分布式版本控制系统,
广泛用于软件开发中,用于跟踪代码的更改、协作开发等。
本教程将介绍 Git 的基本概念、安装和使用方法,
适用于在 Linux 系统上初学者。
------
## 一、安装 Git
大多数 Linux 发行版可以通过包管理器安装 Git。
### Debian/Ubuntu:
```
sudo apt update
sudo apt install git
```
### CentOS/RHEL:
```
sudo yum install git
```
### Fedora:
```
sudo dnf install git
```
安装完成后,验证是否安装成功:
```
git --version
```
------
## 二、配置 Git 用户信息
在使用 Git 前,需要设置用户名和邮箱(这些信息会记录在每次提交中):
```
git config --global user.name "YourName"
git config --global user.email "your@email.com"
```
查看配置信息:
```
git config --list
```
------
## 三、创建 Git 仓库
### 1. 初始化本地仓库
进入你的项目目录并初始化 Git 仓库:
```
cd /path/to/your/project
git init
```
生成 SSH 密钥对(公钥和私钥)的命令
ssh-keygen -t rsa -C "your@emal.com"
cd ~
cd .ssh/
ls
id_rsa id_rsa.pub
linux@ubuntu:~/.ssh$ cat id_rsa.pub
ssh-rsa
dasdsaasdasdfsafdajh************......
### 2. 克隆远程仓库
如果你想从远程仓库(如 GitHub、GitLab)克隆项目:
```
git clone https://github.com/example/project.git
git clone -b lzh git@jihulab.com:xjdh-group/usv_auto.git
```
------
## 四、基本工作流程
### 1. 查看状态
```
git status
```
查看当前工作目录和暂存区的状态。
### 2. 添加文件到暂存区
```
git add filename
```
或添加所有文件:
```
git add .
```
### 3. 提交更改
提交暂存区中的更改到本地仓库:
```
git commit -m "提交信息"
```
### 4. 查看提交历史
```
git log
```
简洁版:
```
git log --oneline
```
------
## 五、远程仓库操作
### 1. 添加远程仓库
```
git remote add origin https://github.com/yourname/yourrepo.git
```
### 2. 推送本地提交到远程仓库
```
git push -u origin master
```
首次推送时 `-u` 参数用于设置默认跟踪分支。
### 3. 拉取远程更新
```
git pull origin master
```
------
## 六、分支管理
### 1. 查看分支
```
git branch
```
### 2. 创建分支
```
git branch dev
```
### 3. 切换分支
```
git checkout dev
```
### 4. 创建并切换分支
```
git checkout -b dev
```
### 5. 合并分支
切换到目标分支(如 `master`),然后合并:
```
git checkout master
git merge dev
```
### 6. 删除分支
```
git branch -d dev
```
------
## 七、撤销操作
### 1. 撤销工作区修改
```
git checkout -- filename
```
### 2. 撤销暂存区添加
```
git reset HEAD filename
```
### 3. 修改最后一次提交(如修改提交信息)
```
git commit --amend
```
------
## 八、标签管理(Tag)
### 1. 创建标签
```
git tag v1.0
```
### 2. 查看所有标签
```
git tag
```
### 3. 推送标签到远程仓库
```
git push origin v1.0
```
------
## 九、常用命令汇总
| 命令 | 说明 |
| ----------------------------- | ---------------- |
| `git init` | 初始化仓库 |
| `git clone <url>` | 克隆远程仓库 |
| `git status` | 查看状态 |
| `git add <file>` | 添加文件到暂存区 |
| `git commit -m "msg"` | 提交更改 |
| `git log` | 查看提交历史 |
| `git remote add origin <url>` | 添加远程仓库 |
| `git push -u origin master` | 推送代码到远程 |
| `git pull origin master` | 拉取远程更新 |
| `git branch` | 查看/管理分支 |
| `git checkout <branch>` | 切换分支 |
| `git merge <branch>` | 合并分支 |
| `git tag <tagname>` | 创建标签 |
| `git push origin <tagname>` | 推送标签 |