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

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.mrgr.cn/news/56558.html

相关文章:

  • Eclipse Java 构建路径
  • web网页QQ登录
  • SCCB协议与IIC协议不同
  • 安卓流式布局实现记录
  • DirectDraw和Direct3D的区别
  • 搜维尔科技:使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据
  • 如何在Windows上配置Elasticsearch 7监听所有IP地址
  • 软件开发术语(F开头)---持续更新
  • 波浪理论、江恩理论、价值投资的结合
  • 【问题解决】C++调用shared_from_this()报错bad_weak_ptr解决方案
  • 《吉林大学学报(理学版)》
  • 增量编码器和绝对编码器的原理介绍
  • 解决Eclipse中’Run As’菜单缺少’Run on Server’选项的问题
  • MySQL9.0安装教程zip手动安装(Windows)
  • 嵌入式大厂物联网(IoT)高频面试题及参考答案
  • 逐行讲解transformers中model.generate()源码
  • 每天五分钟深度学习:逻辑回归和神经网络
  • MyBatis-Plus 代码生成器
  • java--多态(详解)
  • 00 DSA-- 入门、实现动态数组
  • 阅读笔记 Contemporary strategy analysis Chapter 13
  • 算法题总结(二十)——并查集
  • stm32精密控制步进电机(基础篇)
  • 思想是花 嘴是大地
  • 考研篇——数据结构王道3.2.2_队列的顺序实现
  • linux—基础命令及相关知识