news 2026/8/22 13:21:25

Git常用操作命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git常用操作命令

在日常开发中,Git作为分布式版本控制系统,早已成为程序员的必备技能。无论是个人项目管理,还是团队协作开发,掌握Git的常用操作都能大幅提升效率、规避代码丢失风险。本文就来梳理一套“够用、实用”的Git常用操作指南。

一、基础配置:起步必备

安装完Git后,首先要完成基础配置,让Git识别你的身份,这是提交代码的前提。

  1. 配置用户名和邮箱(全局生效)

git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址"

说明:--global参数表示全局配置,后续所有项目都会沿用这个配置;如果需要为单个项目单独配置,进入项目目录后去掉--global即可。

  1. 查看配置信息

git config --list

通过该命令可以查看当前Git的所有配置,确认用户名和邮箱是否配置正确。

二、日常核心操作:从初始化到提交

这部分是Git最常用的核心流程,覆盖“创建/关联项目→修改代码→提交变更→推送远程”的完整链路。

1. 初始化本地仓库

如果是从零开始的新项目,需要在项目根目录初始化Git仓库:

​git init

执行后会在项目目录下生成一个隐藏的.git文件夹,用于存储仓库的版本信息,不要手动修改该文件夹内容。

2. 关联远程仓库

如果需要将本地项目同步到远程仓库(如GitHub、Gitee),先在远程创建空白仓库,然后执行以下命令关联:

git remote add origin 远程仓库地址

说明:origin是远程仓库的默认别名,后续操作远程仓库时可直接使用该别名;如果需要查看已关联的远程仓库,执行git remote -v即可。

3. 拉取远程代码(首次关联/同步更新)

如果是多人协作项目,首次关联远程仓库后,需要先拉取远程代码到本地,避免冲突:

git pull origin 分支名(如main/master)

4. 暂存与提交代码

这是日常开发中最频繁的操作,用于将本地修改的代码纳入版本控制:

(1)查看文件修改状态

git status

该命令会显示哪些文件被修改过、哪些文件未被暂存,是提交前的必查操作。

(2)暂存指定文件

git add 文件名(如index.js)

如果需要暂存所有修改的文件,执行:

git add .

(3)提交暂存的代码

git commit -m "提交说明(如:修复登录按钮点击无响应问题)"

注意:提交说明要清晰明了,便于后续查看版本记录时快速定位变更内容。

5. 推送代码到远程仓库

提交完成后,将本地代码推送到远程仓库,实现同步:

git push origin 分支名(如main/master)

如果是首次推送当前分支,可能需要加上-u参数关联分支,后续推送可直接使用git push

git push -u origin 分支名

三、分支操作:协作开发核心

在团队协作中,分支是避免代码冲突、实现并行开发的关键。常用的分支操作包括创建、切换、合并、删除等。

1. 查看分支

git branch # 查看本地分支(当前分支前会有*标记) git branch -r # 查看远程分支 git branch -a # 查看所有分支(本地+远程)

2. 创建与切换分支

(1)创建新分支

git branch 新分支名(如feature/login)

(2)切换到新分支

git checkout 新分支名

(3)创建并直接切换分支(常用简写)

git checkout -b 新分支名

3. 合并分支

当一个功能开发完成后,需要将分支代码合并到主分支(如main):

(1)先切换到主分支

git checkout main

(2)拉取主分支最新代码(避免合并冲突)

git pull origin main

(3)合并功能分支到主分支

git merge 功能分支名(如feature/login)

4. 删除分支

功能分支合并后,可删除分支清理环境:

git branch -d 分支名 # 删除本地分支(分支已合并时可用) git branch -D 分支名 # 强制删除本地分支(分支未合并时使用) git push origin -d 分支名 # 删除远程分支

四、实用技巧:解决日常小问题(含冲突处理)

1. 撤销本地修改(未暂存)

如果修改了文件但还没执行git add,想恢复到修改前的状态:

git checkout -- 文件名

2. 撤销暂存(已git add但未commit)

如果误将不需要的文件暂存,可撤销暂存:

git reset HEAD 文件名

3. 查看版本记录

查看提交历史,了解每次变更的详情:

git log # 查看完整版本记录 git log --oneline # 简洁查看版本记录(每行显示一个版本)

4. 忽略不需要版本控制的文件

在项目根目录创建.gitignore文件,写入需要忽略的文件/文件夹,如node_modules、日志文件、编辑器配置文件等:

# .gitignore示例 node_modules/ .log .idea/ dist/

5. 代码冲突解决(高频场景)

多人协作时,最常见的问题就是代码冲突——比如两人同时修改了同一文件的同一行代码,拉取或合并时Git无法自动判断保留哪部分内容,就会提示冲突。解决步骤如下:

(1)先查看冲突状态:当执行git pull或git merge出现冲突时,Git会提示“Automatic merge failed; fix conflicts and then commit the result.”,此时执行以下命令查看冲突文件:

git status

命令输出中会标记出“both modified”的文件,这些就是冲突文件。

(2)打开冲突文件修改:用编辑器打开冲突文件,会看到Git标记的冲突区域,格式如下:

<<<<<<< HEAD # 你本地当前的代码 这是你修改的内容 ======= 这是其他人修改的内容 >>>>>>> 分支名(如feature/login) # 待合并分支的代码

其中,<<<<<<< 到 ======= 之间是你本地的代码,======= 到 >>>>>>> 之间是待合并分支的代码。需要根据实际需求删除标记符号(<<<<<<<、=======、>>>>>>>),并修改代码为最终需要的版本(比如保留其中一方的修改,或融合两者的逻辑)。

(3)重新暂存并提交:修改完所有冲突文件后,执行以下命令完成合并:

git add 冲突文件名(或git add .) # 暂存修改后的冲突文件 git commit -m "解决代码冲突:融合登录功能的参数校验逻辑" # 提交合并结果 git push origin 分支名 # 若之前是拉取冲突,提交后推送;若合并冲突,完成后即可

注意:解决冲突的核心是“沟通优先”——如果不确定如何修改,先和修改同一部分代码的同事确认,避免误删有用代码。另外,建议尽量细化提交粒度,减少同一文件多人同时修改的概率,从源头降低冲突风险。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 2:41:49

中文命名实体识别新体验|基于AI智能实体侦测服务快速实现信息抽取

中文命名实体识别新体验&#xff5c;基于AI智能实体侦测服务快速实现信息抽取 在当今信息爆炸的时代&#xff0c;非结构化文本数据如新闻、社交媒体内容、企业文档等呈指数级增长。如何从这些杂乱无章的文字中快速提取出有价值的关键信息——例如人名、地名、机构名——成为自…

作者头像 李华
网站建设 2026/8/22 4:12:48

如何快速部署中文NER服务?AI智能实体侦测镜像轻松搞定

如何快速部署中文NER服务&#xff1f;AI智能实体侦测镜像轻松搞定 副标题&#xff1a;基于RaNER模型的高性能中文命名实体识别WebUI服务&#xff0c;一键部署、即开即用 1. 引言&#xff1a;为什么需要高效的中文NER服务&#xff1f; 在自然语言处理&#xff08;NLP&#xf…

作者头像 李华
网站建设 2026/8/21 0:29:33

AI分类器移动端方案:手机上传+云端GPU运算

AI分类器移动端方案&#xff1a;手机上传云端GPU运算 引言&#xff1a;户外摄影师的智能分类助手 作为一名户外摄影师&#xff0c;你是否经常遇到这样的困扰&#xff1a;拍摄了大量素材后&#xff0c;回到工作室才发现需要花费数小时手动分类整理&#xff1f;手机相册里堆积如…

作者头像 李华
网站建设 2026/8/21 19:14:46

单目深度估计教程:MiDaS模型参数详解与调优

单目深度估计教程&#xff1a;MiDaS模型参数详解与调优 1. 引言&#xff1a;AI 单目深度估计的现实意义 在计算机视觉领域&#xff0c;从单张二维图像中恢复三维空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备&#xff0c;成本高且部署复杂。近…

作者头像 李华
网站建设 2026/8/21 19:14:45

基于SpringBoot的无人智慧超市管理系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一套基于SpringBoot框架的无人智慧超市管理系统&#xff0c;以应对现代零售业对智能化、高效化管理的需求。具体研究目的如下&#xff1a; …

作者头像 李华