【团队开发】git 操作流程

1 创建仓库

创建仓库

得到一个URL

2 git操作

2.1 初始化

初始化仓库

shell 复制代码
git init 

添加origin地址

复制代码
git remote add origin 远程仓库地址

修改origin地址

复制代码
git remote set-url origin <new-url>

运行查看remote命令

shell 复制代码
git remote -v 
shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ git remote -v
origin  https://gitee.com/zhaojianfei0820/comfort_-engine.git (fetch)
origin  https://gitee.com/zhaojianfei0820/comfort_-engine.git (push)

2.2 协作开发

主分支创建文件并推送

shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ git add .

10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ git commit -m "master add test&readme"
[master (root-commit) bdeda1a] master add test&readme
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 ReadMe.txt
 create mode 100644 Test/test.py


10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ git push origin master
10Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 292 bytes | 292.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/zhaojianfei0820/comfort_-engine.git
 * [new branch]      master -> master

创建新的开发分支

shell 复制代码
git branch <new branch name>

创建新分支并切换到该分支

shell 复制代码
git checkout -b <new branch name>

查看所有的分支

shell 复制代码
git branch

将本地创建的分支推送到远程分支

shell 复制代码
git push origin <branch name>

在当前分支创建一个新的分支后,新创建的分支会复制当前分支的所有代码

2.3 邀请同事协作开发

可以在gitee中发送邀请。

协同开发

创建三个分支,分别是:

  • master
  • feature/zhao
  • feature/x

master分支做为主分支,feature/zhao开发功能A,feature/x开发功能B

开发者A 在feature/zhao上面开发

git add.

git commit -m ""

git push origin feature/zhao

开发者B在feature/x上面开发

git add .

git commit -m ""

git push origin feature/x

master合并代码

切换到master分支

shell 复制代码
git checkout master 

合并feature/zhao分支的代码

shell 复制代码
git merge feature/zhao

合并feature/x分支的代码

shell 复制代码
git merge feature/x

2.4 merge操作的常见问题

在master分支创建一个bug.txt文件

shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ touch bug.txt

10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ vim bug.txt

bug.txt文件是:

txt 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ cat bug.txt
第一行:bug file 2023-12-05
第二行:bug file 2023-12-05

基于master分支创建一个hotfix分支,用于bug修复

shell 复制代码
git checkout -b hotfix

在hotfix分支修改bug.txt文件

txt 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (hotfix)
$ vim bug.txt

10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (hotfix)
$ cat bug.txt
bug file 2023-12-05
bug file 2023-12-12
success

开始合并分支

合并之前先返回master

shell 复制代码
git checkout master

触发合并

shell 复制代码
git merge hotfix
shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master)
$ git merge fixhot2
CONFLICT (modify/delete): bug.txt deleted in HEAD and modified in fixhot2.  Version fixhot2 of bug.txt left in tree.
Automatic merge failed; fix conflicts and then commit the result.

10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master|MERGING)
$

直接编辑文件

shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master|MERGING)
$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
        deleted by us:   bug.txt

no changes added to commit (use "git add" and/or "git commit -a")

编辑器直接处理冲突

shell 复制代码
10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master|MERGING)
$ git add .

10321@coderzhao MINGW64 /e/Siemens_projects/code/comfort_engine (master|MERGING)
$ git commit -am"hebingyixia"
[master 1365cd4] hebingyixia

处理之后提交

shell 复制代码
git push origin master 

其他用户拉取代码

shell 复制代码
git pull origin <other-branch>

拉取分支时候,自己分支的内容不会被覆盖。

相关推荐
UXbot2 小时前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app
OsDepK2 小时前
OSMDE手机AI编程,一键Git
git·ai编程
UXbot6 小时前
原型设计工具如何帮助新人快速进入产品行业?
前端·低代码·ui·交互·团队开发·原型模式·web app
用什么都重名8 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git
得要找到一束光9 小时前
git详细命令
git·github
2601_9618752411 小时前
花生十三公考课程|网课|视频
数据库·windows·git·svn·eclipse·github
二哈赛车手12 小时前
新人笔记---idea索引失效问题解决方案
java·笔记·spring·elasticsearch·intellij-idea
MemoriKu13 小时前
Flutter 本地 AI 相册工程收口:从屏幕常亮、标签体系到照片属性后台队列
大数据·人工智能·python·flutter·elasticsearch·搜索引擎·数据库架构
Elastic 中国社区官方博客14 小时前
Elasticsearch:使用向量搜索构建现代应用的最佳实践
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
EleganceJiaBao14 小时前
【Git】Git reset 完整指南:真正理解 HEAD、暂存区与工作区
git·github·reset