首页 > 其他分享 >gti前端代码提交

gti前端代码提交

时间:2024-09-09 17:04:24浏览次数:9  
标签:改动 Git gti 前端 stash git dev 提交 分支

第一次gti前端提交

根据提示一步步看

首先

git check dev

此时可能会报错:

error: Your local changes to the following files would be overwritten by checkout:
.env.development
package.json
Please commit your changes or stash them before you switch branches.
_____________
错误:您对以下文件的本地更改将被签出覆盖:
.env.development
package.json
请在切换分支之前提交或隐藏您的更改。

然后

git stash
git stash 是 Git 版本控制系统中一个非常有用的命令,它允许你将当前工作区(working directory)和暂存区(staging area)的修改“储藏”起来,即暂时保存这些修改,以便稍后能够恢复它们。这个命令在你需要切换分支,但又不希望提交当前分支的修改时特别有用。

当你执行 git stash 命令时,Git 会将你的工作区和暂存区的所有改动保存到一个新的 stash 栈中,并清理工作区和暂存区,使其看起来就像你从未做过任何修改一样。之后,你就可以自由地切换到其他分支进行工作,或者进行其他 Git 操作,如拉取(pull)或推送(push)等。

当你想要恢复之前储藏的修改时,可以使用 git stash pop 命令。这个命令会将最近储藏的修改应用到当前的工作区和暂存区。如果你想要查看储藏的列表,可以使用 git stash list 命令。

此外,git stash 命令还有一些变体,比如:

git stash save "message":在储藏时,你可以提供一个消息来描述这次储藏,这样你就可以更容易地识别每个储藏的修改内容。
git stash apply:这个命令与 git stash pop 类似,但它不会从 stash 栈中移除该储藏。这在你想要多次应用同一个储藏时很有用。
git stash drop:如果你想要从 stash 栈中移除一个特定的储藏,可以使用这个命令。你可以通过 git stash list 查看 stash 栈中的储藏,然后使用 git stash drop stash@{index} 来移除指定索引的储藏,其中 {index} 是 stash 栈中储藏的索引号。
git stash 是 Git 中处理临时修改的一个非常灵活的工具,它让你可以在不中断当前工作流程的情况下,轻松地在不同的 Git 分支之间切换。

然后

git checkout dev
git pull
git stash pop

运行结果如图所示:
image

然后开始加文件:

git add src
git add index.html
git add package.json
git status

最后提交和推送:

git pull
git add src
git commit -m "111"
git push

推送成功:

Enumerating objects: 63, done.
Counting objects: 100% (52/52), done.
Delta compression using up to 8 threads
Compressing objects: 100% (27/27), done.
Writing objects: 100% (29/29), 7.74 KiB | 1.94 MiB/s, done.
Total 29 (delta 13), reused 0 (delta 0), pack-reused 0 (from 0)
remote:
remote: To create a merge request for dev, visit:
remote:   http://****/front-end/sate-admin/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote:
To http://****/front-end/sate-admin.git
   161ad67..a5f0fc2  dev -> dev

这段输出是Git在执行git push命令时,将本地的dev分支推送到远程仓库时的日志信息。顺序解读如下:

这一步是Git在准备推送前,枚举出需要处理的文件对象(objects)总数为63个,现在已经完成。
Git正在计算需要推送的文件对象数量,这里显示的是52个对象已全部计算完成(100%)。
Git使用delta压缩技术来减少传输的数据量,这里使用了最多8个线程来加速压缩过程。
正在压缩需要推送的文件对象,总共27个对象已全部压缩完成(100%)。
正在将压缩后的对象写入到网络传输流中,总共29个对象已全部写入,总大小为7.74 KiB,写入速度为1.94 MiB/s。
本次推送共包含29个对象,其中13个是通过delta压缩(差异压缩)处理的。没有重用之前已经存在于远程仓库的对象,也没有因为pack-reused(包重用)而减少的对象。
remote: 后的几行是远程仓库的提示信息,具体说明:
提示你可以通过访问指定的URL来为新的dev分支创建一个合并请求(Merge Request)。
To 表示推送的远程仓库地址。
161ad67..a5f0fc2 dev -> dev
这表明在远程仓库中,dev分支已经从原来的提交161ad67更新到了新的提交a5f0fc2。同时,也说明你推送的是本地的dev分支到远程的dev分支。
整个输出显示你的git push命令已经成功执行,你的dev分支已经更新到了远程仓库。如果你想要基于这个新的dev分支创建一个合并请求,可以按照远程仓库提示的URL进行操作。

学习

git stash和git checkout/switch


作用:
git stash命令用于暂存你当前的工作目录和暂存区的改动,使其可以稍后恢复,同时让你的工作目录干净(即没有未提交的改动)。这在你需要切换分支但不想提交当前正在进行的工作时非常有用。

git checkout命令在Git 2.23之前被广泛用于切换分支和恢复工作树文件。但是,当Git 2.23版本引入git switch和git restore命令后,git checkout用于分支切换的功能被认为是被git switch命令所取代,尽管它仍然可以用于此目的。
git switch命令专门用于切换分支。

是否先使用git stash取决于你是否需要暂存当前分支的改动以便稍后恢复。


使用顺序:
如果你需要切换到另一个分支(比如dev),但当前有未提交的改动,并希望保留这些改动以便之后继续工作:
首先,使用git stash暂存你的改动。然后,使用git checkout dev(如果你使用的是较旧的Git版本)或git switch dev(如果你使用的是Git 2.23或更高版本)来切换到dev分支。
如果你没有未提交的改动,或者你想丢弃这些改动:
你可以直接使用git checkout devgit switch dev来切换分支,而无需先执行git stash


示例:

假设你正在feature分支上工作,但突然需要切换到dev分支来处理一些紧急问题,同时你又不想提交或丢失feature分支上的当前工作:

# 暂存当前分支的改动  
git stash  
  
# 切换到dev分支  
git switch dev  
# 或者,如果你使用的是较旧的Git版本  
# git checkout dev  
  
# ...在dev分支上工作...  
  
# 当你回到feature分支并希望恢复之前暂存的改动时  
git switch feature  
# 或者,如果你使用的是较旧的Git版本  
# git checkout feature  
  
# 列出所有暂存的改动  
git stash list  
  
# 恢复最近一次暂存的改动  
git stash pop  
# 或者,如果你只是想查看但不恢复改动,可以使用  
# git stash apply

git stash pop

git stash pop 是一个 Git 命令,用于从 stash 列表中恢复最近一次(或指定的一次)暂存的改动,并将这些改动从 stash 列表中移除。这个命令将你的工作目录和暂存区恢复到 git stash 命令执行之前的状态,但不同之处在于,它会同时删除那个 stash 条目,因为它认为你已经不再需要它了。

当你使用 git stash 暂存你的改动时,Git 会将这些改动保存在一个叫做 stash 列表的地方。这个列表可以包含多个 stash 条目,每个条目都保存了你某次暂存的改动。你可以随时使用 git stash list 查看所有的 stash 条目。

git stash pop 命令的工作流程大致如下:

查找最近的 stash 条目:Git 会找到 stash 列表中最近(也就是最上面)的条目。
恢复改动:然后,Git 会将这些改动应用到当前的工作目录和暂存区中。如果这些改动与当前工作目录中的文件有冲突,Git 可能会要求你解决这些冲突。
删除 stash 条目:一旦改动被成功恢复,Git 就会从 stash 列表中删除那个条目。
如果你只想查看改动而不实际恢复它们,可以使用 git stash apply 而不是 git stash pop。git stash apply 会像 git stash pop 一样恢复改动,但它不会从 stash 列表中删除那个条目。

此外,如果你想要恢复 stash 列表中的特定条目(而不是最近的条目),你可以使用 git stash pop stash@{n} 或 git stash apply stash@{n},其中 {n} 是你想要恢复的 stash 条目的索引(从 0 开始计数)。例如,git stash pop stash@{1} 会恢复第二个 stash 条目(注意索引是从 0 开始的)。

git status

git status 是一个 Git 命令,用于显示工作目录和暂存区的状态。它帮助你了解当前仓库的变动情况,包括哪些文件已经被修改但尚未暂存(staged),哪些文件已经被暂存但尚未提交(committed),以及哪些文件没有被 Git 跟踪(即不在版本控制中)。

当你运行 git status 时,Git 会检查你的工作目录和暂存区,并输出一个报告,通常包括以下几个部分:

当前分支:首先,它会显示你当前所在的分支名称,以及如果当前分支与远程分支有联系,还会显示它们之间的关系(比如,是否有跟踪的远程分支,以及它们是否同步)。
未跟踪的文件:接着,它会列出所有未被 Git 跟踪的文件,即那些还没有被 git add 命令添加到暂存区的文件。
已修改但尚未暂存的文件:然后,它会列出所有已经被修改但尚未被 git add 暂存的文件。这些文件的内容与最后一次提交到仓库的版本不同,但还没有准备好被提交。
已暂存但尚未提交的文件:最后,它会列出所有已经被 git add 暂存但尚未通过 git commit 提交的文件。这些文件的内容已经准备好被包含在下一次提交中。
git status 命令的输出对于理解仓库的当前状态非常有用,尤其是在你准备提交更改或需要了解哪些文件已经改变时。

此外,Git 还提供了一些选项来自定义 git status 的输出。例如,git status -s 或 git status --short 会以更紧凑的格式显示状态信息,这对于脚本或自动化任务可能更有用。

标签:改动,Git,gti,前端,stash,git,dev,提交,分支
From: https://www.cnblogs.com/lm02/p/18404838

相关文章

  • [Base64] 前端上传文件,通过 base64 传递给服务器
    前端FileReader将文件转换为Base64编码字符串,然后将其作为请求体发送到后端。<inputtype="file"id="fileInput"/><buttononclick="uploadFileAsBase64()">上传文件</button><script>functionuploadFileAsBase64(){constfileInp......
  • 前端解决Long类型精度丢失的问题
    问题数据库数据:前端得到的数据:出现了Long类型的数据出现精度丢失问题!原因JS中Long最大值:9007199254740992JAVA中Long最大值:9223372036854775807雪花算法id外加数据范围的不同导致地前后端不匹配解决方法把Long类型转为String再传给前端;这里用的方法是通过Jackson......
  • 使用Git进行版本控制:前端开发者的最佳实践
    聚沙成塔·每天进步一点点本文回顾⭐专栏简介使用Git进行版本控制:前端开发者的最佳实践1.引言2.Git的基本概念2.1版本控制系统的作用2.2Git的基本操作3.Git最佳实践3.1使用有意义的提交信息3.2小步提交,频繁提交3.3使用分支进行开发3.4代码评审(CodeReview)......
  • IBM AI Developer 专业证书专项课程-Introduction to Software Engineering-Unit2-前
    前端网站开发前端开发简介用户交互:用户在浏览在线购物网站时,主要与网站的前端进行交互。这包括浏览不同的页面、选择不同的产品类别、比较产品等活动。前端的作用:前端是用户直接接触的部分,它决定了用户如何与网站或应用进行交互,以及他们的视觉体验。网站开发基础HTML(Hyp......
  • 前端css样式优先级问题
    一、常用选择器1.标签选择器(标签名{}),选中对应标签里的内容,例(div{})2.类选择器(.类名{}),选中对应类名的内容,例(.one{})   注:不可以数字开头,一个标签中可有多个类名3.id选择器(#id{}),选中对应id的内容,例(#one{})   注:不可以数字开头,一个标签里只能有一个id属性4.通配符选择器(*{}),......
  • PyQt6/PySide6:账本项目前端制作【附完整项目地址】
    0.前言最近在家里闲着没事,正好又看到朋友@studentWheat发了篇用Tkinter做的账本,于是决定跟他一起改进这个程序。屏幕截图:1.后端后端主要是朋友做的,在这里就不多说了,放个代码:src/api.pyfromcollectionsimportdefaultdictclassApiError(RuntimeError):passd......
  • 前端学习笔记-Web APls篇-05
    Bom操作1.Window对象 1.1BOM(浏览器对象模型)BOM(BrowserObjectModel)是浏览器对象模型window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的。所有通过var定义在全局作......
  • 使用jQuery实现Form表单提交
    使用jQuery实现Form表单提交在Web开发中,表单提交是一个常见的操作,通过表单提交用户可以向服务器发送数据。jQuery是一个流行的JavaScript库,可以简化处理JavaScript的操作,包括表单提交。在本篇博客中,我们将介绍如何使用jQuery来实现表单提交操作。HTML表单首先,我们需要编写一个简单......
  • 前端使用Fetch 后端Spring Boot实现下载文件(浏览器下载栏)
    前后端分别实现前端代码后端代码前端代码constdownloadFile=()=>{fetch("/getDocx?fileName=文件名称.docx").then((response)=>{console.log('response:>>',response);if(!response.ok){thrownewError("本次请求......
  • Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密&解密
    加密效果:解密后的数据就是正常数据:后端:使用的是spring-cloud框架,在gateway模块进行操作<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version>......