专业编程基础技术教程

网站首页 > 基础教程 正文

谈谈自我修养,程序员必须掌握的技能:git push失败的一种情况

ccvgpt 2024-07-18 12:41:01 基础教程 4 ℃

欢迎关注,获得最新文章。

欢迎转发,传播最新技术。

Git作为目前最先进的分布式版本控制系统,相信你也在使用。有了它,再也不用担心代码丢失,而且可以任性的在不同版本间穿梭,大大提高了团队开发效率。

好马配好鞍,好鞍配好马,这里优秀的工具,同样也需要优秀的使用者。当你抱怨git不好的时候,那就说明你该认真的学习git命令了,沉下心思去理解常用命令。

谈谈自我修养,程序员必须掌握的技能:git push失败的一种情况

再介绍一个工具Gerrit,某些公司使用它作为代码审查软件,团队成员可以相互审阅(review)彼此程序代码,决定是否能够提交,退回或者继续修改。

问题

如果你们团队也在使用Gerrit,那么你可能会碰到下面这个问题:! [remote rejected] HEAD -> refs/for/1.7.82 (change 17384 closed),error: failed to push some refs to 等等等。

原因

原因是上次提交(commit)的内容,在Gerrit上被抛弃(abandoned)了

解决办法

删除(drop)被抛弃(abandoned)的那个提交(commit)。

1. git log

  • 查看提交(commit)历史

commit 2f55a8f7062a5cb0a4de758921b3f266421c0ad3 (HEAD -> 1.7.82)

opt周年庆:1.添加光分现金html/img;2.调试获取用户状态接口;3.调试获取获奖用户接口;4.完成数据展示。

Change-Id: Id031ddcba7ba5acd561836b9920e11f198dcc6a3

commit f227f92ebd969b2168445349db34fa65b09b0238

opt周年庆活动:1.添加首页html/css/js

Change-Id: I4ecb7b562b4cca6098432ab1d7d2b18e74774f0d

commit 3b2451b275ba4665cd8ac670f7bd8d1bd4335011 (origin/1.7.82)

Merge remote-tracking branch 'origin/master' into 1.7.82

Change-Id: I198a923cafd4e6a4cc46e9cd1e42b28b952ebf87


  • 加黑字体部分代表已经被抛弃(abandoned)的提交(commit),我们要做的就是删除这个提交。

2. git rebase -i I198a923cafd4e6a4cc46e9cd1e42b28b952ebf87

  • I198a923cafd4e6a4cc46e9cd1e42b28b952ebf87,是即将要被删除(drop)的提交(commit)的上一个提交(commit),这里不要搞错!!!
  • 进入到提交信息编辑页面
  • 加黑字体部分代表即将要被删除(drop)的提交(commit)

pick f227f92eb opt周年庆活动:1.添加首页html/css/js

pick 2f55a8f70 opt周年庆:1.添加光分现金html/img;2.调试获取用户状态接口;3.调试获取获奖用户接>口;4.完成数据展示。


3. 输入字母"i",进入编辑模式

  • 将 pick f227f92eb opt周年庆活动:1.添加首页html/css/js,修改为 drop f227f92eb opt周年庆活动:1.添加首页html/css/js

drop f227f92eb opt周年庆活动:1.添加首页html/css/js

pick 2f55a8f70 opt周年庆:1.添加光分现金html/img;2.调试获取用户状态接口;3.调试获取获奖用户接>口;4.完成数据展示。


4. 按下 shift + esc 键,退出编辑模式

5. 按下 shifit + : 键

6. 输入"wq",按下enter键,保存并退出编辑器

7. 提示Successfully rebased and updated refs/heads/1.7.82.

代表删除commit成功

8. 可以使用git log查看是否删除成功

9. git push origin HEAD:refs/for/1.7.82

10. 提示* [new branch] HEAD -> refs/for/1.7.82

代表提交成功

结语

Git提交项目遇到问题时,删工程绝对不是最佳解决办法,而是要查找权威资料,或者咨询资深工程师,深入理解git命令,要巧用git,才能事半功倍。

Tags:

最近发表
标签列表