作为国内主流的代码托管平台,Gitee在Linux开发者群体中的使用率持续攀升。不同于Windows环境下的图形化操作,Linux环境下主要通过命令行工具实现完整的代码管理流程。以Ubuntu 20.04 LTS为例,其原生终端与Gitee的SSH协议配合度极高,实测代码推送速度比HTTP协议快40%左右。对于嵌入式开发、服务器运维等典型Linux应用场景,掌握Gitee命令行操作已成为开发者的基础技能。
我在实际团队协作中发现,许多从Windows转型Linux的开发者常因环境变量配置不当导致认证失败。这里特别提醒:Linux下使用Gitee必须正确处理~/.ssh目录权限(建议设置为700),否则即使密钥配置正确也会出现"Permission denied"错误。下面将系统介绍从环境准备到团队协作的全套实战经验。
在Debian系发行版中,建议使用apt-get进行Git安装:
bash复制sudo apt-get update
sudo apt-get install git -y
安装完成后需立即配置全局用户信息:
bash复制git config --global user.name "你的Gitee用户名"
git config --global user.email "注册邮箱"
重要提示:部分Linux发行版默认安装的Git版本较旧,若需使用Git LFS等新特性,建议通过官方PPA源安装最新版:
bash复制sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git
bash复制ssh-keygen -t ed25519 -C "your_email@example.com"
bash复制cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard
验证连接是否成功:
bash复制ssh -T git@gitee.com
正常会返回"Welcome to Gitee, YourName!"的欢迎信息。
bash复制git clone https://gitee.com/username/repo.git
bash复制git clone git@gitee.com:username/repo.git
bash复制git clone --mirror git@gitee.com:username/repo.git
查看远程分支:
bash复制git remote show origin
创建并切换分支:
bash复制git checkout -b feature-branch
推送本地分支到远程:
bash复制git push origin feature-branch
实用技巧:使用
git push -u origin branch_name可建立追踪关系,后续直接git push即可
当多人修改同一文件时,可按以下流程处理:
bash复制git fetch origin
git rebase origin/main
# 解决冲突后
git add .
git rebase --continue
git push origin feature-branch
在.gitlab-ci.yml中配置自动化流程示例:
yaml复制stages:
- build
- test
build_job:
stage: build
script:
- make all
only:
- main
test_job:
stage: test
script:
- make test
安装Git LFS:
bash复制sudo apt-get install git-lfs
git lfs install
跟踪大文件类型:
bash复制git lfs track "*.psd"
git lfs track "*.zip"
修改SSH配置提升传输速度(~/.ssh/config):
code复制Host gitee.com
HostName gitee.com
User git
Compression yes
CompressionLevel 6
IPQoS throughput
bash复制# 检查密钥加载情况
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
bash复制# 先拉取最新代码
git pull --rebase origin main
# 强制推送(慎用)
git push -f origin branch_name
bash复制git config --global core.quotepath false
bash复制# 获取PR列表
curl -s https://gitee.com/api/v5/repos/{owner}/{repo}/pulls | jq
项目管理员应合理设置保护分支:
建议每90天更换一次SSH密钥:
bash复制# 备份旧密钥
mv ~/.ssh/id_ed25519 ~/.ssh/old_keys/id_ed25519_$(date +%Y%m%d)
# 生成新密钥
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "new_key@$(date +%Y%m)"
查看仓库操作历史:
bash复制git reflog show --date=iso
在settings.json中添加:
json复制{
"git.path": "/usr/bin/git",
"git.enableSmartCommit": true,
"gitee.accessToken": "your_token"
}
每日同步脚本:
bash复制#!/bin/bash
REPO_DIR="/path/to/your/repo"
cd $REPO_DIR
git fetch origin
git merge origin/main
git push origin HEAD:main
经过多年Linux环境下使用Gitee的实践,我总结出三条黄金法则:始终使用SSH协议、重要操作前先执行git status确认状态、定期使用git gc优化仓库性能。这些习惯帮助我避免了90%以上的版本控制事故。