插件窝 干货文章 如何在Linux系统中使用Git版本控制

如何在Linux系统中使用Git版本控制

Git 分支 bash feature 111    来源:    2025-04-18

在Linux系统中使用Git版本控制指南

Git是当今最流行的分布式版本控制系统,下面是在Linux系统中使用Git的完整指南。

1. 安装Git

在大多数Linux发行版中,Git可以通过包管理器安装:

# Debian/Ubuntu
sudo apt-get update
sudo apt-get install git

# CentOS/RHEL
sudo yum install git

# Fedora
sudo dnf install git

# Arch Linux
sudo pacman -S git

安装完成后验证版本:

git --version

2. 配置Git

设置全局用户名和邮箱(每次提交都会记录这些信息):

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

其他常用配置:

# 设置默认编辑器为nano
git config --global core.editor nano

# 设置颜色输出
git config --global color.ui auto

# 查看所有配置
git config --list

3. 创建和克隆仓库

初始化新仓库

mkdir my-project
cd my-project
git init

克隆现有仓库

git clone https://github.com/user/repo.git
# 或使用SSH
git clone git@github.com:user/repo.git

4. 基本工作流程

  1. 添加文件到暂存区

    git add filename  # 添加特定文件
    git add .         # 添加所有更改
    
  2. 提交更改

    git commit -m "描述性的提交信息"
    
  3. 查看状态

    git status
    
  4. 查看提交历史

    git log
    git log --oneline  # 简洁视图
    git log --graph --all --decorate  # 图形化视图
    

5. 分支管理

# 创建新分支
git branch new-feature

# 切换分支
git checkout new-feature
# 或使用更简洁的方式
git switch new-feature

# 创建并切换到新分支
git checkout -b new-feature
# 或
git switch -c new-feature

# 列出所有分支
git branch -a

# 合并分支
git checkout main
git merge new-feature

# 删除分支
git branch -d new-feature  # 安全删除
git branch -D new-feature  # 强制删除

6. 远程仓库操作

# 添加远程仓库
git remote add origin https://github.com/user/repo.git

# 查看远程仓库
git remote -v

# 推送更改
git push -u origin main  # 第一次推送
git push                # 之后可以简写

# 拉取更新
git pull origin main

# 获取远程更新但不合并
git fetch origin

7. 撤销更改

# 撤销工作目录中的修改
git checkout -- filename

# 取消暂存的文件
git reset HEAD filename

# 修改最后一次提交
git commit --amend

# 回退到特定提交
git reset --hard COMMIT_HASH

8. 高级功能

储藏更改

git stash        # 储藏当前更改
git stash list   # 查看储藏列表
git stash apply  # 恢复最近的储藏
git stash pop    # 恢复并删除储藏

标签管理

git tag v1.0              # 创建轻量标签
git tag -a v1.0 -m "版本1.0"  # 创建带注释的标签
git tag                  # 列出标签
git push origin --tags   # 推送标签到远程

子模块

git submodule add https://github.com/user/repo.git path/to/submodule
git submodule update --init --recursive

9. 常用别名设置

在~/.gitconfig中添加:

[alias]
    co = checkout
    br = branch
    ci = commit
    st = status
    last = log -1 HEAD
    lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

10. 常见问题解决

解决合并冲突: 1. 打开冲突文件,找到<<<<<<<, =======, >>>>>>>标记 2. 手动解决冲突后保存文件 3. 执行git add filename标记为已解决 4. 完成合并:git commit

恢复误删的分支

git reflog  # 查找分支最后的提交哈希
git branch branch-name commit-hash  # 恢复分支

通过掌握这些基本和高级Git操作,您可以在Linux系统上高效地进行版本控制。Git的学习曲线可能较陡,但熟练掌握后将成为您开发工作中的强大工具。