当前位置: 首页 > article >正文

GIT常用操作及多人提交代码的工作流程

Git 是一个分布式版本控制系统,用于追踪文件的变更历史。它主要用于软件开发中的源代码管理,但也可以用于任何类型的文件。下面是一些 Git 的常用操作:

一、安装与配置

(一)初始化

根据你的操作系统下载并安装 Git。

1.配置用户信息:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

2.初始化仓库

创建一个新的 Git 仓库:

git init

3.克隆已存在的仓库:

git clone <repository_url>

4.工作区状态查看

查看当前工作区的状态:

git status

(二) 修改

1.添加文件到暂存区

添加指定文件到暂存区:

git add <file_name>

2.添加所有更改过的文件到暂存区:

git add .

3.提交更改

提交暂存区的更改到本地仓库:

git commit -m "Commit message"

4.查看历史记录

查看提交历史:

git log

(三)分支操作

1.列出所有分支:

git branch

2.创建新分支:

git branch <branch_name>

3.切换分支:

git checkout <branch_name>

4.创建并切换到新分支(Git 2.23+):

git switch -c <branch_name>

5.合并分支

将某一分支合并到当前分支:

git merge <branch_name>

(四)远程仓库操作

1.添加远程仓库:

git remote add origin <remote_repo_url>

2.获取远程仓库更新:

git fetch

3.拉取远程仓库的最新更改并与本地合并:

git pull

4.推送本地更改到远程仓库:

git push origin <branch_name>

(五)标签操作

1.列出所有标签:

git tag

2.创建轻量级标签:

git tag <tag_name>

3.创建附注标签:

git tag -a <tag_name> -m "Tag message"

4.推送标签到远程仓库:

git push origin <tag_name>

(六)其他操作

1.撤销更改

撤销工作区中未被暂存的更改:

git checkout -- <file_name>

2.撤销暂存区中的更改:

git reset HEAD <file_name>

3.撤销最近一次提交(保留更改):

git reset --soft HEAD^

4.强制拉取覆盖本地

# 获取远程更新
git fetch origin

# 重置当前分支到远程分支的状态
git reset --hard origin/your-branch-name

# 清理工作区中未跟踪的文件
git clean -fd

二、多人提交代码工作流程

1.从主分支创建功能分支:

拉取最新的master分支代码:

git pull origin master

创建新的功能分支:

git checkout -b feature-xxx

2.在功能分支上开发:

添加文件至暂存区:

git add <file>

提交更改到本地仓库:

git commit -m "提交信息"

3.推送更改到远程仓库的功能分支:

推送本地功能分支到远程仓库:

git push -u origin feature-xxx

4.合并请求/拉取请求(Pull Request, PR):

这一步通常是在代码托管平台(如GitHub、GitLab等)上完成,不是直接通过Git命令行操作。
在这里插入图片描述

5.代码审查(Code Review):

代码审查也是通过代码托管平台进行的。
在这里插入图片描述

6.合并到主分支:

如果审查通过后,可以直接在平台上点击“Merge”按钮来完成合并。
在这里插入图片描述

或者可以切换回master分支并手动合并:
切换到master分支:

git checkout master

确保master是最新的:

git pull origin master

合并功能分支到master:

git merge feature-xxx

推送到远程仓库:

git push origin master

7.清理旧的功能分支:

删除本地功能分支:

git branch -d feature-xxx

删除远程功能分支:

git push origin --delete feature-xxx

http://www.kler.cn/news/361171.html

相关文章:

  • ORB-SLAM2 ---- Tracking::StereoInitialization()
  • 服务器卸载 mysql
  • Unity Vision Pro 保姆级开发教程- Play to Device| 编辑器串流调试开发
  • 排序算法 —— 快速排序(理论+代码)
  • 力扣 876. 链表的中间结点【详细手写】
  • PostgreSQL中触发器递归的处理 | 翻译
  • 使用Python抓取房源信息
  • iOS 18.1 RC 版本发布,修复iPhone16随机重启、浏览视频卡顿等bug
  • 华为ICT题库-云计算部分
  • 判断一个数是不是素数(质数)(c语言)
  • el-table在某些条件下禁止选中
  • 【R + Python】iNaturalist 网站图片下载 inat api
  • Linux基础命令(入门)
  • 商汤科技十周年公布新战略,将无缝集成算力、模型及应用
  • HCIP-HarmonyOS Application Developer 习题(十四)
  • 【3D】几何算法合集2(自用资源)方便cv
  • web服务器基石详解------nginx与 HTTP介绍篇
  • 蓝桥杯嵌入式ADC+DMA数据采样
  • 基于Multisim的模拟拔河游戏比赛设计与仿真
  • 征服ES(ElasticSearch)的慢查询实战