插件窝 干货文章 通过Git在Linux系统上进行团队协作的配置方法

通过Git在Linux系统上进行团队协作的配置方法

Git bash 分支 协作 658    来源:    2025-04-17

Git在Linux系统上的团队协作配置指南

1. 基础环境配置

1.1 安装Git

# 对于基于Debian的系统(Ubuntu等)
sudo apt-get update
sudo apt-get install git

# 对于基于RHEL的系统(CentOS, Fedora等)
sudo yum install git

1.2 配置用户信息

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

2. SSH密钥配置

2.1 生成SSH密钥

ssh-keygen -t ed25519 -C "your_email@example.com"
# 或者使用RSA
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2.2 添加密钥到SSH代理

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

2.3 将公钥添加到Git服务器(GitHub/GitLab等)

cat ~/.ssh/id_ed25519.pub
# 复制输出内容并添加到Git服务器的SSH密钥设置中

3. 仓库协作配置

3.1 克隆仓库

git clone git@github.com:username/repository.git
cd repository

3.2 设置上游分支(适用于fork的工作流)

git remote add upstream git@github.com:original/repository.git

3.3 配置分支推送策略

git config --global push.default current

4. 团队协作工作流

4.1 功能分支工作流

# 创建新分支
git checkout -b feature-branch

# 开发完成后提交更改
git add .
git commit -m "描述你的更改"

# 推送到远程
git push -u origin feature-branch

4.2 拉取请求(Pull Request)流程

  1. 在GitHub/GitLab上创建Pull Request
  2. 团队成员进行代码审查
  3. 解决审查意见
  4. 合并到主分支

4.3 同步上游更改

git fetch upstream
git merge upstream/main
# 或者使用rebase
git rebase upstream/main

5. 高级协作配置

5.1 设置Git钩子

# 示例: 在.git/hooks/pre-commit中添加检查脚本
#!/bin/sh
npm run lint

5.2 配置.gitignore

# 创建.gitignore文件
touch .gitignore

# 添加需要忽略的文件/目录
echo "node_modules/" >> .gitignore
echo "*.log" >> .gitignore

5.3 使用Git LFS管理大文件

# 安装Git LFS
sudo apt-get install git-lfs  # Debian/Ubuntu
sudo yum install git-lfs      # RHEL/CentOS

# 在仓库中启用
git lfs install
git lfs track "*.psd"
git add .gitattributes

6. 常用协作命令

# 查看远程仓库
git remote -v

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

# 查看分支差异
git diff branch1..branch2

# 交互式rebase
git rebase -i HEAD~3

# 创建标签
git tag -a v1.0 -m "版本1.0发布"
git push origin v1.0

7. 解决常见协作问题

7.1 合并冲突

  1. 打开冲突文件,解决标记为<<<<<<<, =======, >>>>>>>的冲突
  2. 添加解决后的文件
  3. 完成合并
git add resolved-file
git commit

7.2 撤销错误提交

# 撤销上一次提交但保留更改
git reset --soft HEAD~1

# 完全撤销上一次提交
git reset --hard HEAD~1

7.3 恢复误删分支

# 查找删除的提交
git reflog

# 恢复分支
git checkout -b restored-branch <commit-hash>

通过以上配置和流程,您的团队可以在Linux系统上高效地进行Git协作开发。根据团队规模和项目复杂度,可以选择适合的工作流(如Git Flow, GitHub Flow等)来进一步优化协作流程。