企业团队使用Git协同开发的一般流程

简介:

流程大纲

一、代码编写

1.从主分支(master)上创建开发分支(dev)。 

git branch dev

2.切换到dev。 

git checkout dev

3.在dev上进行代码编写,并提交本地版本库。 
注:一定不能直接在marster分支上修改代码

git add ./src ./res
git commit -m "添加缓存模块"

这个时候有一些改变了没有提交的代码会变红色,在你 切换到master之前,应该暂存当前dev的开发一下到栈里。

git stash


二、合并代码

1.切换到master。 

git checkout master


2.从remote master拉取最新代码到local master。 

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$ git pull
Username for 'http://gitlab.urd.com': zengjinlong
Password for 'http://zengjinlong@gitlab.urd.com':
fatal: Authentication failed for 'http://gitlab.urd.com/kankan/kankananime.git/'


admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$ git pull
Username for 'http://gitlab.urd.com': zengjinlong
Password for 'http://zengjinlong@gitlab.urd.com':
Already up-to-date.

admin@ZENGJINLONG2 /d/kuaipan/swap/code/animate/kankananime (master)
$


3.切换到dev。 

git checkout dev


4.rebase master 到 dev。 

git rebase master


5.如果有代码冲突,则解决。

三、提交代码

1.切换到master。 

git checkout master


2.将dev的代码合并(merge)到master。 

git merge dev


3.推送(push)local master 到 remote master。 

git push


4.看你心情,保留或者删除dev分支。

回到dev开发,要从stash中取出暂存的状态

git stash pop


总结流程如下:

git clone URL
(master branch now)
git branch dev
(new dev bransh to develop)
git checkout dev
(switch dev bransh now)
(.....coding ..add ... delete..modify...)
git add ./src ./res
(just add src and res in the local reposity)
git stash
(push the status into git stack,as some files modified but not add and committed)
git checkout master
git pull
(update the code from server .)
git checkout dev
git rebase master
(rebase from master.)
(solve the conflict code)
git checkout master
git merge dev
(merge the code from dev)
git push
(upload the new code to server)
git checkout dev
git stash pop
(ok, continue coding ,man )

如果不小心在master分支改动了代码怎么办?

git stash表示的是暂存从上一个commit到现在的改动,一旦你执行了该指令,当前分支会回退到上一次commit时候的状态。所以如果你master改动了。你可以如下处理

git status
(you will the modification is red)
git stash
(temporary store the modification into stack)
git status
(no red file now, as the branch rallback to the latest commit)
git pull
(update the code from the server)
(if you want to save the modification, you need still step on following steps)
git checkout dev
git rebase master
(update the code base on master)
git stash pop
(pop the stored code out)



以EclipseGit插件为例演示

  • 创建Dev分支CreateBranchDevCreateBranchDetail
  • 在marster分支上拉取最新代码PullToMarster
  • 在dev分支上rebase Marster分支代码RebaseFromMarsterToDevRebaseDetail
  • 在Marster分支上合并dev分支代码MergeFromDevToMasterMergeDetail
  • 提交marster分支到远程库PushToRemote
相关文章
|
5月前
|
存储 缓存 数据处理
71_数据版本控制:Git与DVC在LLM开发中的最佳实践
在2025年的大模型(LLM)开发实践中,数据和模型的版本控制已成为确保项目可重复性和团队协作效率的关键环节。与传统软件开发不同,LLM项目面临着独特的数据版本控制挑战:
|
6月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
231 13
|
8月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
565 2
|
7月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
234 0
|
12月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
1959 60
|
11月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
2142 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
530 7
|
运维 测试技术 持续交付
代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?
本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。
482 0
|
前端开发 开发工具 git
一入前端深似海,从此红尘是路人系列第十一弹之如何合理利用Git进行团队协作(二)
上篇我就Git协议讲了两大点,Git的起步,Git的基础操作,其中详细的小伙伴可以先去阅读我上一篇文章https://my.oschina.net/qiangdada/blog/800093(一入前端深似海,从此红尘是路人系列第十弹之如何合理利用Git进行团队协作(一))。
1850 0
|
6月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
1269 15