openeuler下的git指令集合

openEuler 是华为推出的开源操作系统,基于 Linux 内核,完全兼容 Git 的所有核心功能。本教程从 Git 安装、配置到日常开发全流程(提交、分支、远程仓库、冲突解决),覆盖新手到进阶的核心操作,适配 openEuler 20.03/22.03 等主流版本。

一、Git 安装与环境检查

  1. 安装 Git
    openEuler 官方源已内置 Git 包,通过 dnf 命令一键安装:
    bash
    运行

升级系统包(可选,推荐)

sudo dnf update -y

安装 Git

sudo dnf install git -y

  1. 验证安装

安装完成后,检查版本确认安装成功:

bash

运行

git --version

输出示例:git version 2.31.1(不同版本数值略有差异)

二、Git 基础配置(首次必做)

Git 需配置用户信息(用户名、邮箱),用于标识提交者身份,全局配置只需执行一次。

  1. 全局用户配置
    bash
    运行

设置用户名(替换为你的名称)

git config --global user.name "YourUsername"

设置邮箱(替换为你的邮箱,建议与代码平台(Gitee/GitHub)一致)

git config --global user.email "your@email.com"

  1. 配置默认编辑器(可选)

默认编辑器为 vim,如需改为 nano 或其他:

bash

运行

设置默认编辑器为 nano

git config --global core.editor "nano"

如需改回 vim

git config --global core.editor "vim"

  1. 查看配置信息

验证配置是否生效:

bash

运行

查看所有全局配置

git config --global --list

输出示例:

user.name=YourUsername

user.email=your@email.com

core.editor=nano

三、Git 核心操作(本地仓库)

  1. 初始化本地仓库
    新建项目目录并初始化 Git 仓库:
    bash
    运行

创建项目目录

mkdir my-openeuler-project

cd my-openeuler-project

初始化 Git 仓库(生成 .git 隐藏目录)

git init

输出:Initialized empty Git repository in /home/xxx/my-openeuler-project/.git/

  1. 文件追踪与暂存
    Git 需先将文件加入「暂存区」,再提交到仓库,核心命令:
    bash
    运行

1. 创建测试文件

echo "openEuler Git Tutorial" > README.md

2. 查看文件状态(红色表示未追踪)

git status

3. 将指定文件加入暂存区

git add README.md

4. 将所有未追踪/修改文件加入暂存区

git add .

5. 撤销暂存(如误加文件)

git reset HEAD README.md

  1. 提交代码到本地仓库

暂存区文件需「提交」才会被 Git 永久记录,提交时必须写备注(-m 参数):

bash

运行

基础提交(必填备注)

git commit -m "init: 添加README.md,初始化项目"

若暂存+提交一步完成(仅适用于已追踪的文件)

git commit -am "update: 修改README.md内容"

  1. 查看提交记录

bash

运行

简洁版记录(每行一个提交)

git log --oneline

完整版记录(含作者、时间、哈希值)

git log

查看指定文件的提交记录

git log README.md

四、分支管理(核心进阶)

分支是 Git 最强大的功能,用于并行开发(如功能分支、修复分支),默认分支为 master/main(openEuler 部分仓库默认 main)。

  1. 分支基础操作
    bash
    运行

查看所有分支(* 表示当前分支)

git branch

创建新分支(如 feature-dev)

git branch feature-dev

切换到新分支

git checkout feature-dev

创建+切换分支(一步完成,推荐)

git checkout -b feature-dev

合并分支(如将 feature-dev 合并到 master)

git checkout master # 先切回主分支

git merge feature-dev # 合并feature-dev到当前分支

删除分支(开发完成后)

git branch -d feature-dev # 已合并的分支

git branch -D feature-dev # 强制删除未合并的分支

  1. 解决分支合并冲突

当两个分支修改同一文件的同一行时,合并会触发冲突,需手动解决:

bash

运行

合并时提示冲突(示例)

Auto-merging README.md

CONFLICT (content): Merge conflict in README.md

Automatic merge failed; fix conflicts and then commit the result.

1. 打开冲突文件,找到冲突标记

<<<<<<< HEAD # 当前分支(master)的内容

openEuler Git Tutorial

======= # 待合并分支(feature-dev)的内容

openEuler Git Guide

feature-dev

2. 修改为最终内容(删除冲突标记)

openEuler Git Tutorial & Guide

3. 重新暂存+提交

git add README.md

git commit -m "merge: 解决README.md冲突,合并feature-dev分支"

五、远程仓库操作(对接 Gitee/GitHub/GitLab)

  1. 关联远程仓库
    先在代码平台(如 Gitee)创建远程仓库,再关联本地仓库:
    bash
    运行

添加远程仓库(origin 为仓库别名,可自定义)

git remote add origin https://gitee.com/yourname/my-openeuler-project.git

查看已关联的远程仓库

git remote -v

若需修改远程仓库地址

git remote set-url origin https://github.com/yourname/my-openeuler-project.git

  1. 推送本地代码到远程

bash

运行

首次推送(-u 绑定本地分支与远程分支)

git push -u origin master

非首次推送(直接推送当前分支)

git push

推送指定分支

git push origin feature-dev

  1. 拉取远程代码

bash

运行

拉取远程最新代码(不合并)

git fetch origin

拉取并合并远程代码(常用)

git pull origin master

若本地有未提交的修改,拉取前可暂存

git stash # 暂存修改

git pull origin master # 拉取代码

git stash pop # 恢复暂存的修改

  1. 克隆远程仓库到本地

若本地无仓库,直接克隆远程仓库:

bash

运行

git clone https://gitee.com/yourname/my-openeuler-project.git

克隆到指定目录

git clone https://gitee.com/yourname/my-openeuler-project.git my-project-dir

六、Git 常用进阶技巧

  1. 版本回滚
    bash
    运行

查看提交哈希值(前7位即可)

git log --oneline

回滚到指定版本(保留修改,可重新提交)

git reset --soft 1a2b3c4

回滚到指定版本(删除所有修改,谨慎使用)

git reset --hard 1a2b3c4

推送到远程(回滚后强制推送)

git push -f origin master

  1. 忽略文件(.gitignore)

创建 .gitignore 文件,指定无需追踪的文件(如日志、编译文件):

bash

运行

在项目根目录创建.gitignore

touch .gitignore

编辑.gitignore(示例内容)

cat >> .gitignore << EOF

忽略日志文件

*.log

忽略编译目录

target/

忽略系统隐藏文件

.DS_Store

忽略配置文件

config.ini

EOF

将.gitignore加入追踪并提交

git add .gitignore

git commit -m "config: 添加.gitignore,忽略无用文件"

  1. 配置 SSH 免密登录(推荐)

每次推送输入账号密码繁琐,配置 SSH 密钥可免密访问:

bash

运行

生成SSH密钥(一路回车,无需设置密码)

ssh-keygen -t rsa -C "your@email.com"

查看公钥内容(复制到Gitee/GitHub的SSH密钥配置中)

cat ~/.ssh/id_rsa.pub

测试SSH连接(以Gitee为例)

ssh -T git@gitee.com

输出:Hi yourname! You've successfully authenticated... 表示成功

七、openEuler 下 Git 常见问题解决

  1. 安装 Git 提示「无可用包」
    原因:源配置问题,重新配置 openEuler 官方源:
    bash
    运行

备份原有源

sudo mv /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak

下载官方源配置(以22.03 LTS为例)

sudo wget -O /etc/yum.repos.d/openEuler.repo https://repo.openeuler.org/openEuler-22.03-LTS/repo/openEuler.repo

清理缓存并重新安装

sudo dnf clean all

sudo dnf makecache

sudo dnf install git -y

  1. 推送代码提示「权限拒绝」

检查远程仓库地址是否正确(HTTPS/SSH 区分);

SSH 方式:确认公钥已添加到代码平台,且本地私钥未被修改;

HTTPS 方式:确认账号密码正确,或切换为 SSH 方式。

  1. Git 中文乱码

openEuler 下默认字符集为 UTF-8,若出现中文乱码,添加如下配置:

bash

运行

git config --global core.quotepath false

git config --global i18n.commit.encoding utf-8

git config --global i18n.logoutputencoding utf-8

export LESSCHARSET=utf-8 # 临时生效,可写入~/.bashrc永久生效

八、总结

本教程覆盖 openEuler 下 Git 的核心使用场景:

安装与基础配置是前提,需确保用户信息与远程平台一致;

本地仓库操作(add/commit/log)是日常开发基础;

分支管理是多场景开发的核心,需熟练掌握合并与冲突解决;

远程仓库对接(push/pull/clone)是团队协作的关键;

SSH 免密、.gitignore 等技巧可大幅提升效率。

如需深入学习,可参考 Git 官方文档(git help 命令)或 openEuler 社区的代码管理规范。

相关推荐
一 乐2 小时前
养老院信息|基于springboot + vue养老院信息管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
珠海西格电力2 小时前
零碳园区工业园区架构协同方案
运维·人工智能·物联网·架构·能源
cike_y2 小时前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis
液态不合群2 小时前
【面试题】MySQL 中的索引数量是否越多越好?为什么?
android·数据库·mysql
奥尔特星云大使2 小时前
使用 Docker 运行 SQL Server 2019
运维·docker·容器·sql server
风静雪冷2 小时前
在Ubuntu上安装docker(docker engine)和docker compose
linux·ubuntu·docker
imbackneverdie2 小时前
2025国自然资助率12.29%创新低!2026年如何用数据与AI“破局”?
数据库·人工智能·自然语言处理·aigc·ai写作·课题·国家自然科学基金
3824278272 小时前
python:mysql数据库
数据库·python·mysql
小宇的天下2 小时前
Calibre DESIGNrev DRC/LVS启动和准备文件(10-1)
服务器·数据库·oracle