git+码云提交PR流程记录

前提条件:注册码云账号,本地安装git

如果不知道怎么注册和安装,可以参考git+gitee入门教程(https://bbs.huaweicloud.com/forum/thread-55222-1-1.html

登录自己的码云账号

复制代码
     登陆了之后,在码云上打开目标项目仓库,点击右上角Forked,将代码fork到自己的远程代码仓。

在本地创建本地代码仓

复制代码
 本地新建一个文件夹,用来当做本地代码仓。在文件夹空白处按住"shift"同时鼠标右击,选择"在此处打开powershell窗口"

拉取远程代码仓

复制代码
 输入命令
bash 复制代码
  git init
复制代码
 此时文件夹出现 .git 文件夹

 再次输入命令,连接到远程代码仓库
bash 复制代码
git remote add origin 链接地址
复制代码
 链接地址可在远程fork的仓直接复制,具体位置如下图

点击"克隆/下载",再点击"复制",地址就复制完成了

最后输入命令:

bash 复制代码
git pull origin master

就可以看到已将远程代码仓的文件全部拉取到本地了。(需要拉取哪个分支,就将master替换为相关的分支名称,比如git pull origin r1.2)

本地修改文件

复制代码
 这一步大家自己按照需要来

修改后上传到远程代码仓库

我们的要求是新建分支,然后在分支上上传到远程代码仓。创建分支命令:

bash 复制代码
git branch 分支名称

切换到新的分支命令:

bash 复制代码
git checkout 新分支名称

不放心的话查看一下分支:

bash 复制代码
git branch

此时下面的显示中,名称前面有" * "号的就是当前所在的分区啦。

修改文件后保存,输入以下命令将本地文件加入缓存区

git add .

再输入命令

bash 复制代码
git commit --m "本次提交的描述"

git对于版本的管理其实是对提交的管理,git用40个字节长度的16进制字符串来标识每一个提交,每一个提交具有唯一的标识,可以根据这个标识任意回退。

最后推送到远程代码仓库,输入命令:

bash 复制代码
git push --set-upstream origin 分支名称

查看远程代码仓库

查看远程仓库中是否已经更新了呢,记得先切换到自己的新分区再查看哦,因为我们刚刚是在datarom-java17-dev上推送的,具体切换位置在这里:

提交PR

就Ok啦,这个时候我们要填写提交PR的内容

后记

本人在修改过程中,因为修改的原因,提交了很多次的commit(类似答辩终稿、最终稿、最终不修改稿),这样最终的PR单上面,显示提交了很多次,这样就很不简洁,也很不舒服。后来新学了个命令git rebase,关于这个命令的用法可以补充学习一下。

有两种写法:

bash 复制代码
git rebase -i [startpoint] [endpoint]
bash 复制代码
git rebase --i HEAD~N

其中 --i 的意思是---interactive 即弹出交互式的界面让用户编辑完成合并操作,startpointendpoint则指定了一个编辑的区间,到底要合并哪些内容,第二种是合并默认当前分支的HEAD所指的commit向上N条。

我这里用的是第二种:

git rebase --i HEAD~3

但因为添加进缓冲区和push的动作过多,我遇到了如下错误:

试了一下图中的所示四种方法发现都没有用之后,尝试发现直接去 .git 文件夹删掉"rebase---merge"文件夹,再跑一遍就可以了。

会遇到如下的界面

上面未被注释的部分列出了我们本次rebase操作所包含的所有提交,下面注释的是git为我们提供的命令说明,我们主要用到这两个:

Pick:保留该commit(缩写:p)

Squash:将commit和前一个commit合并(缩写:s)

我决定将c和d合入b中,所以我们这样修改,注意s一定要小写:

保存退出之后,我们修改注释:

编辑完即可完成commit合并。

今天的分享就到这里,希望能给大家一些帮助,如果有什么问题和错误也希望大家能够指出来,谢谢~

相关推荐
维基框架8 小时前
OpenAI在给Git做优化 上游行为要变了
人工智能·git
1名持续学习的码农8 小时前
GPT Plus、GPT Pro用户第一次用Codex,项目权限和Git分支怎么设置?
人工智能·git·gpt·elasticsearch·ai编程·codex
71777710 小时前
国产 DevOps 新路径:解析 Gitee 软件工厂本土化、信创、AI 核心优势
人工智能·gitee·devops
晨曦中的暮雨19 小时前
Learn Claude Code:CodeAgent 与后端程序大搭配——定时任务、Git Worktree 和MCP 服务
git·ai·llm·agent
减瓦20 小时前
用 Git 为本地文件打造一台时光机
开发语言·git·编辑器
71777720 小时前
自主研发基础设施国产化:信创产业全貌与 Gitee 落地应用
大数据·gitee
Huangjin007_21 小时前
【Linux 系统篇(十一)】基础开发工具(六) —— 版本控制器 Git
linux·运维·git
影视飓风TIM1 天前
Linux下C语言缓冲区原理 + Git版本控制
linux·c语言·git
tianyuanwo2 天前
当提交标题重复阻塞CI:Git分支修复实战
git·ci/cd·分支基线调整