Ubuntu环境下安装、配置和使用Git的全流程

 更新时间:2026年05月05日 08:47:26   作者:YasharQ  
Git 是当今最流行的分布式版本控制系统,在 Ubuntu 系统中无论是个人开发还是团队协作都离不开它,本文将系统地介绍在 Ubuntu 环境下安装、配置和使用 Git 的方法,涵盖从基础操作到远程协作的全流程,需要的朋友可以参考下

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 statusgit log --graph 观察仓库状态变化,这有助于深刻理解 Git 的工作原理。

以上就是Ubuntu环境下安装、配置和使用Git的全流程的详细内容,更多关于Ubuntu安装、配置和使用Git的资料请关注脚本之家其它相关文章!

相关文章

  • 安全检测Unix和Linux服务器安全设置入门精讲

    安全检测Unix和Linux服务器安全设置入门精讲

    尽管为服务器设计软件的软件工程师们想方设法提高系统的安全性,然而由于系统管理员的水平参差不齐或安全意识底下,往往给黑客提供了入侵的机会。
    2008-05-05
  • Linux获取磁盘的UUID和序列号WWID的方法

    Linux获取磁盘的UUID和序列号WWID的方法

    本文介绍了在Linux系统中,由于磁盘标识符(sd*)可能会在重启后发生变化,特别是在Oracle RAC环境下需要稳定性,文章详细阐述了WWID和UUID的概念,它们都是用于独特标识磁盘的标识符,需要的朋友可以参考下
    2026-04-04
  • 移植新内核到Linux系统上的操作步骤

    移植新内核到Linux系统上的操作步骤

    今天小编就为大家分享一篇关于移植新内核到Linux系统上的操作步骤,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • linux文件系统调整大小的方法(linux调整分区大小)

    linux文件系统调整大小的方法(linux调整分区大小)

    本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是"拆东墙, 补西墙"的方法, 当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了
    2014-01-01
  • Linux使用VIM编辑器的方法

    Linux使用VIM编辑器的方法

    今天小编就为大家分享一篇关于使用vim编辑器,提高编辑效率的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 在linunx系统中搭建静态文件服务的流程步骤

    在linunx系统中搭建静态文件服务的流程步骤

    在服务器上有一些文件,想共享给其他用户下载,同时因为ftp和sftp被禁用,且使用起来不太方便,需要找一种搭建成本低,安全高效的方式来完成此功能,因此linux上的httpd服务是一个很好的选择,所以本文给大家介绍了在linux系统中搭建静态文件服务的流程步骤
    2024-02-02
  • 在Debian系的Linux中编译并安装ixgbe驱动的教程

    在Debian系的Linux中编译并安装ixgbe驱动的教程

    这篇文章主要介绍了在Linux中编译并安装ixgbe驱动的教程,采用bash shell、适用于Debian、Ubuntu等各种基于Debian的Linux系统,需要的朋友可以参考下
    2015-03-03
  • Linux创建指定目录并进入的实现方式

    Linux创建指定目录并进入的实现方式

    在Linux中创建并进入指定目录,可以通过快捷方式(一行命令,最常用,适用于快速操作)或严谨方式(先判断目录是否存在,再创建并进入,适合脚本)实现,快捷方式适用于快速手动操作,而严谨方式适用于脚本编写和需要避免目录已存在提示的场景,需要的朋友可以参考下
    2026-02-02
  • Linux如何定时执行任务教程

    Linux如何定时执行任务教程

    Linux crontab是采用定期执行程序的命令,当安装完成操作 系统后,默认便会启动此任务调度命令,crond命令每分钟都会定期检查是否要执行任务的工作,如果要执行的工作便会自动执行该任务。本文主要介绍了定时任务Crontab的使用,需要的可以学习一下
    2023-04-04
  • 解决启动php-fpm后访问不到php文件的办法

    解决启动php-fpm后访问不到php文件的办法

    今天碰了一个很奇怪的问题,当启动php-fpm后,发现居然访问不到php文件了,后来通过查看日志、分析+搜索终于解决了,现在将整个过程分享给大家,也方便同样遇到这个问题的同学们参考借鉴,下面来一起看看吧。
    2016-12-12

最新评论