Ubuntu环境下安装、配置和使用Git的全流程
作者:YasharQ
1. 安装 Git
虽然 Ubuntu 通常预装了 Git,但软件源中的版本可能较旧。推荐通过以下命令安装或更新到最新稳定版。
1.1 使用默认源安装
sudo apt update sudo apt install git -y git --version
1.2 使用官方 PPA 安装(获取更新版本)
sudo add-apt-repository ppa:git-core/ppa -y sudo apt update sudo apt install git -y
2. 初始配置
安装完成后,必须设置用户名和邮箱,因为每次提交都会附带这些信息。
git config --global user.name "你的名字" git config --global user.email "你的邮箱"
建议同时配置以下选项,以符合现代 Git 习惯:
git config --global init.defaultBranch main # 默认分支名设为 main git config --global color.ui auto # 开启彩色输出
3. 基本版本控制工作流
3.1 创建或克隆仓库
初始化新仓库:在项目目录下执行git init
克隆远程仓库:git clone <仓库地址>
3.2 忽略不需要的文件
在项目根目录创建 .gitignore 文件,填写要忽略的文件或目录模式(如 node_modules/, *.log, .env 等)。
touch .gitignore # 编辑 .gitignore 添加忽略规则 git add .gitignore git commit -m "Add .gitignore"
3.3 日常提交流程
git add <文件> # 将指定文件加入暂存区 git add . # 加入所有变更 git commit -m "说明本次修改的内容" git status # 查看工作区和暂存区状态 git log --oneline --graph # 查看简洁的提交历史
3.4 同步远程仓库
# 首次推送需建立关联 git push -u origin main # 后续推送 git push # 拉取远程更新(推荐使用变基方式) git pull --rebase
4. 核心命令速查表
| 分类 | 命令 | 说明 |
|---|---|---|
| 配置 | git config --global user.name "name" | 设置全局用户名 |
git config --global user.email "email" | 设置全局邮箱 | |
| 本地仓库 | git init | 初始化新仓库 |
git clone <url> | 克隆远程仓库 | |
| 变更与提交 | git add <file> | 添加文件到暂存区 |
git commit -m "message" | 提交暂存区内容 | |
git status | 查看当前状态 | |
git log | 查看提交历史 | |
git diff | 查看未暂存的差异 | |
| 分支管理 | git branch | 列出本地分支 |
git branch <name> | 创建分支 | |
git switch -c <name> | 创建并切换到新分支 | |
git switch <name> | 切换分支 | |
git merge <branch> | 合并分支 | |
git branch -d <name> | 删除分支 | |
| 远程协作 | git remote -v | 查看远程仓库地址 |
git remote add origin <url> | 添加远程仓库 | |
git push [-u] origin <branch> | 推送到远程 | |
git pull --rebase | 拉取并变基 | |
git fetch | 仅拉取不合并 | |
| 撤销与修正 | git reset HEAD <file> | 撤出暂存区 |
git checkout -- <file> | 丢弃工作区修改(危险) | |
git commit --amend | 修改最近一次提交 |
5. 分支管理详解
分支是 Git 强大协作能力的核心。
5.1 创建与切换分支
git checkout -b feature-A # 创建并切换到新分支 git branch # 查看所有本地分支(* 表示当前分支)
5.2 合并分支
git checkout main # 先切换回主分支 git merge feature-A # 将 feature-A 合并到 main
5.3 处理合并冲突
当两个分支修改了同一文件的同一区域时,Git 无法自动合并,会标记冲突。冲突文件中会出现如下标记:
<<<<<<< HEAD 当前分支的代码 ======= 合并分支的代码 >>>>>>> feature-A
手动编辑文件,删除这些标记并保留最终代码,然后:
git add . git commit -m "Merge feature-A: resolve conflict"
6. 远程协作:连接 GitHub / GitLab
6.1 使用 SSH 协议(推荐)
生成 SSH 密钥对(Ed25519 算法):
ssh-keygen -t ed25519 -C "你的邮箱" cat ~/.ssh/id_ed25519.pub
复制输出的公钥内容,添加到 GitHub(Settings → SSH and GPG keys)或 GitLab 中。测试连接:
ssh -T git@github.com
若看到包含用户名的成功信息,则表示配置正确。
6.2 使用 HTTPS 协议并缓存密码
# 缓存密码 15 分钟 git config --global credential.helper cache # 永久存储(明文,不安全) git config --global credential.helper store
7. 常见问题排查
7.1git push失败
原因:本地分支落后于远程分支。
解决:先执行 git pull --rebase 同步远程变更,再尝试推送。
7.2 提交历史出现许多合并节点
原因:使用了默认的 git pull(合并模式)而非 git pull --rebase。
解决:设置全局变基为默认行为:
git config --global pull.rebase true
7.3 如何放弃所有本地修改?
命令:git reset --hard HEAD
注意:此操作不可逆,会删除所有未提交的更改,请谨慎使用。
7.4 SSH 连接超时
原因:可能处于代理环境。
解决:为 Git 设置代理(假设代理端口为 1080):
git config --global http.proxy http://127.0.0.1:1080 git config --global https.proxy http://127.0.0.1:1080
8. 结语
本文涵盖了在 Ubuntu 系统中使用 Git 的核心知识。从安装配置到日常提交,再到分支管理和远程协作,这些技能足以应对大多数开发场景。Git 还有很多高级功能(如 rebase、cherry-pick、reflog 等),可以在熟练基础后进一步探索。
提示:建议在实际项目中多使用 git status 和 git log --graph 观察仓库状态变化,这有助于深刻理解 Git 的工作原理。
以上就是Ubuntu环境下安装、配置和使用Git的全流程的详细内容,更多关于Ubuntu安装、配置和使用Git的资料请关注脚本之家其它相关文章!
