实际工作项目中搭配git托管代码的流程

简介: 实际工作项目中搭配git托管代码的流程

今天总结一下自己在实际工作项目中搭配git和gitee代码托管平台完成日常工作流的开发。

第一步

每天早上上班需要切到主分支上拉取一下最新的代码。

image.png

注意:这里有一个需要特别关心的点就是如果你工作的分支有未完成的修改(也就是昨天晚上你工作的代码没修改完,你忘了推送上去)你是无法切换分支的

这里着重讲一下这种情况如何正确处理

1.下图可以看到我们现在修改了一部分代码,但是还未修改完,不想发一个commitmaster分支上

01f9955e54fe42d5b56dcdd7edb365a9_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

2.现在我仓库上游有代码更新了,我需要去切换到master分支上拉去最新的代码。

image.png

以后但是由于你没有commit,所以git不允许你切换分支因为你的代码并没有完成,如果你commit的话,会多一条无用的记录,并且commit -m的时候信息也不知道如何填写合适。

这时候我会用到git stash,这里我们不过多讲解stash的用法,它是用来代替commit的,相当于把你的改动暂时放到了和暂存区同级别的一个地方。

image.png

3.让我们git status看一下哪些文件被修改了

image.png

就是这个红色的文件被我们修改了,导致我们无法切换到主分支。接下来让我们git stash一下试试。然后再执行

image.png

可以看到我们的修改好像消失了一样,这时候我们就可以切换到master上了,执行git pull,同步一下最新的代码。

image.png

ok,这时候我们master分支的代码是最新的了,但是我们开发是在分支上开发的呀,text分支代码还不是最新的。这时候我们就需要让text分支和master分支的代码同步。

4.这里切回text分支。

image.png

在实际开发中我会选择git rebase master这个命令来同步最新的代码,因为使用git merge master会造成一次特殊的commit,意思就是master分支上拉下来和你不同的那些代码git会自动生成一次commit记录来帮你记忆这次代码的更改。但往往这个commit是无用的,它会再你代码改好以后,等真正想push代码的时候,这条commit会跟着你改代码时候“真正的”那条commit一起推送过去。

所以我们就选用git rebase,在这里只简单讲解一下,具体意思可以百度搜寻更详细的答案。它真正让人感到和merge的不同之处就是不会产生多余的那条commit

5.执行一下git rebase看看

image.png

好像不对劲,有错误?先采用下面这个回答的方式解决,至于原因这个我之前也没研究过,待我以后搞清楚再来补充

image.png

6.执行完git fetch origin以后,我们在text分支上执行git rebase master命令。

image.png

可以看到现在我们的代码就是上游仓库,你的同事所有提交完以后的最新代码。

但是别忘了,你修改的代码还在stash仓库里放着。

我们只需执行stash apply,就可以拿下来所有add以后的代码了。

image.png

熟悉的那个文件就又出现了。注意!!!!!!这时候可能会引起冲突。道理很简单因为你现在更改的代码,有可能你同事也改过了,这时候git就不知道该才用谁的代码了,所以这时候git就会提示你优先更改冲突。

此时修改冲突即可。





相关文章
|
3月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
328 103
|
4月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
175 13
|
5月前
|
Shell 网络安全 开发工具
项目快速导入git
本文介绍了如何在本地初始化 Git 仓库并将代码提交到远程仓库(如 GitHub 或 Gitee)的基本流程。内容包括安装 Git、创建仓库、添加文件、提交更改以及推送代码到远程仓库的详细步骤,适合初学者快速掌握 Git 的基本使用方法。
320 1
|
6月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
458 2
|
5月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
201 0
|
8月前
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
612 7
|
8月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
9月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1806 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
7月前
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
1097 0
|
11月前
|
安全 开发工具 git
git分布式版本控制系统及在码云上创建项目并pull和push
通过本文的介绍,我们详细讲解了Git的基本概念和工作流程,并展示了如何在码云上创建项目及进行pull和push操作。Git作为一种分布式版本控制系统,为开发者提供了强大的工具来管理代码变更和协作开发。希望本文能帮助您更好地理解和使用Git及码云,提高开发效率和代码质量。
339 16