git - 在 Gerrit 上再次提交并将其合并到我的本地项目中的正确方法是什么
问题描述
我的团队正在与 Gerrit 合作。我不知道如何对我的本地项目进行其他提交。
例如,我的一位同事已将他自己的更改推送到 Gerrit,但更改尚未合并到分支主控中。我可以看到他的变化:
现在,我有自己的更改,仍然在我自己的 PC 中,这意味着我还没有将自己的更改推送到 Gerrit。我需要的是获取他的更改并将其合并到我的本地更改中。
为什么?因为我需要用他的更改编译项目并将可执行文件部署在测试服务器上。
我知道 Gerrit 为我提供了一些方法来获取其他人的更改,例如 checkout、cherry-pick、patch 等。但我不知道哪种方法最适合以下情况:
- 将 Gerrit 的其他一些更改合并到我的本地项目中
- 轻松恢复我的本地项目,这意味着放弃合并并取回我的本地项目
解决方案
我假设您的本地更改是在一个名为“branch-1”的分支中提交的。
然后,执行以下过程:
在原始分支的基础上创建一个新分支,以进行测试并检查它:
git checkout -b branch-2 branch-1
使用 Gerrit 上的更改页面中提供的“Cherry Pick”下载命令带来您想要的所有更改:
git fetch ... && git cherry-pick FETCH_HEAD <= Change 1
git fetch ... && git cherry-pick FETCH_HEAD <= Change 2
...
编译和部署
完成后回到原来的分支:
git checkout branch-1
推荐阅读
- python-3.x - Python List - 如何评估json字符串值中的空白/空值/空格并将其替换为某个默认值?
- node.js - 如何让猫鼬运行验证器?
- kubernetes - 可以在没有集群管理员角色的情况下使用 argo 吗?
- linux - 我们是否应该始终使用这种寄存器顺序进行系统调用?
- r - 从各种不同的计数在 R 中构建一个 tibble
- python - 深度学习预测结果范围(BPSK)
- vue.js - “在‘vue’中找不到导出‘默认’(导入为‘Vue’)
- javascript - 如何从动态 HTML 表中获取特定的用户输入数据(Onchange 函数,数值)
- google-sheets - 如何对多个 INDEX+MATCH 结果求和
- c++ - 如何从 C++ 中 O(n) 中的关联 NxN 矩阵中删除行和列?