文章

git使用教程

git使用教程

Git 版本控制完全指南:从入门到精通

什么是 Git?

Git 是一个分布式版本控制系统,由 Linus Torvalds 于 2005 年创建,用于管理 Linux 内核开发。它能够跟踪文件的变化,记录修改历史,并支持多人协作开发。

安装 Git

Windows

  1. 访问 git-scm.com
  2. 下载并运行安装程序
  3. 按照默认设置完成安装

macOS

1
2
3
4
# 使用 Homebrew
brew install git

# 或从官网下载安装包

Linux (Ubuntu/Debian)

1
2
sudo apt update
sudo apt install git

初始配置

安装完成后,首先需要配置用户信息:

1
2
3
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"
git config --global core.editor "code --wait"  # 使用VSCode作为默认编辑器

查看配置信息:

1
git config --list

Git 基本工作流程

Git 有三个主要区域:

  1. 工作目录 - 实际文件所在目录
  2. 暂存区 - 准备提交的文件
  3. 版本库 - 存储提交历史

基础命令

初始化仓库

1
2
3
4
5
# 创建新仓库
git init 项目名称

# 克隆现有仓库
git clone https://github.com/用户名/仓库名.git

查看状态

1
2
git status        # 查看当前状态
git status -s     # 简洁状态显示

添加文件到暂存区

1
2
3
git add 文件名          # 添加特定文件
git add .              # 添加所有文件
git add *.js           # 添加所有js文件

提交更改

1
2
git commit -m "提交说明"
git commit -am "提交说明"  # 添加并提交所有已跟踪文件

查看历史

1
2
3
git log           # 查看完整历史
git log --oneline # 简洁历史
git log --graph   # 图形化显示分支

分支管理

创建和切换分支

1
2
3
4
git branch                 # 查看所有分支
git branch 分支名          # 创建新分支
git checkout 分支名        # 切换到分支
git checkout -b 分支名     # 创建并切换到新分支

合并分支

1
2
git checkout main         # 切换到主分支
git merge 分支名          # 将分支合并到当前分支

删除分支

1
2
git branch -d 分支名      # 删除已合并的分支
git branch -D 分支名      # 强制删除分支

远程仓库操作

连接远程仓库

1
2
git remote add origin https://github.com/用户名/仓库名.git
git push -u origin main  # 首次推送并设置上游分支

推送和拉取

1
2
3
git push                 # 推送更改到远程仓库
git pull                 # 从远程仓库拉取更新
git fetch                # 获取远程更新但不合并

查看远程信息

1
2
git remote -v            # 查看远程仓库地址
git remote show origin   # 查看远程仓库详细信息

撤销操作

撤销工作区修改

1
git checkout -- 文件名    # 撤销对文件的修改

撤销暂存区文件

1
git reset HEAD 文件名     # 将文件从暂存区移回工作区

修改上次提交

1
git commit --amend       # 修改上次提交信息或内容

回退到特定提交

1
2
git reset --hard commit_id  # 彻底回退到指定版本
git reset --soft commit_id  # 回退但保留更改到暂存区

高级功能

储藏更改

1
2
3
4
git stash               # 储藏当前工作
git stash list          # 查看储藏列表
git stash apply         # 应用最近的储藏
git stash pop           # 应用并删除储藏

标签管理

1
2
3
4
git tag                         # 查看所有标签
git tag v1.0.0                  # 创建轻量标签
git tag -a v1.0.0 -m "版本说明" # 创建附注标签
git push origin --tags          # 推送所有标签到远程

子模块

1
2
git submodule add https://github.com/用户名/仓库名.git
git submodule update --init --recursive

.gitignore 文件

创建 .gitignore 文件来指定不需要版本控制的文件:

1
2
3
4
5
6
7
8
9
10
11
# 忽略所有.log文件
*.log

# 忽略node_modules目录
node_modules/

# 忽略.env环境文件
.env

# 但不要忽略重要的log文件
!important.log

最佳实践

  1. 提交频率:频繁提交,每个提交只解决一个问题
  2. 提交信息:编写清晰、具体的提交信息
  3. 分支策略:使用功能分支开发,主分支保持稳定
  4. 代码审查:使用 Pull Request 进行代码审查
  5. 定期同步:经常从主分支拉取更新,避免大规模冲突

常见问题解决

解决合并冲突

  1. 打开冲突文件,找到冲突标记(«««<, =======, »»»>)
  2. 手动解决冲突,删除冲突标记
  3. 添加解决后的文件:git add 文件名
  4. 完成合并:git commit

找回删除的分支

1
2
git reflog                 # 查看操作历史
git checkout -b 分支名 commit_id  # 根据commit_id恢复分支

结语

Git 是一个功能强大的工具,需要时间和实践来掌握。建议从简单的项目开始练习,逐步尝试更复杂的工作流程。记住,Git 的主要目的是帮助团队协作和管理项目历史,而不是增加工作复杂度。

通过本教程,你应该已经掌握了 Git 的基本用法。继续实践和探索,你会发现 Git 更多的强大功能!

本文由作者按照 CC BY 4.0 进行授权