gerrit管理下的git代码提交小技巧
1、提交代码
git checkout targetbranch 切换至目标分支
git pull origin targetbranch 拉取目标分支最新内容
git add 修改文件
git commit -m “修改内容:xxxxx”
git push origin HEAD:refs/for/targetbranch
2、修改代码后发现所在分支不是目标分支怎么办?
修改代码的分支是A,而需要提交的分支是B, 有两种办法:
方法一:
1> 新建一分支C,保留现在的分支修改内容;
2>git branch C
3> 切换至目标分支B,拉取C分支的内容至分支B;
git checkout B
git fetch origin C
4> 检查修改文件变化和内容是否原来修改的一致
git status
git diff 文件
5> 按照提交代码环节操作即可;
方法二:
1> 将A分支上修改的内容放到回收站工作树,这个相当于是一个栈,可以进行压入弹出,比栈更高级的是可以根据索引进行弹出;
git stash
2> 切换至B分支
git checkout B
3> 从回收站恢复修改数据至B分支
git stash
git stash list 查看回收站中存在的文件;
git stash show 查看回收站中相对本地文件的变化,与git diff类似;
git stash pop 恢复回收站最顶层数据至本地;
4> 按照提交代码环节操作即可
3、修改提交后发现提交的内容存在问题怎么办?
如果提交后的代码还没有merge到对应分支,可按照如下方法:
1> 切换至原来修改提交所在分支
git checkout targetbranch
2> 继续修改内容
3> git add 修改文件
4> git commit --amend
5> git push origin HEAD:refs/for/targetbranch
如果提交后的代码已经merge,按照正常修改提交代码流程即可;
4、A B C三个人同一时间段内提交代码,此时B提交的代码已经merge, 而C发现他提交的代码与A有冲突conflict,怎么办?
1> 切换至原来修改提交所在分支,切换至自己修改前的一次提交commit-id
git checkout targetbranch
git log | less
git reset commit-id
2> 拉取合并代码更新
git pull origin HEAD:refs/for/targetbranch
3> git add 修改文件解决冲突,主要是文件中包含HEAD的地方,其中HEAD XXX ====中的XXX是本地旧内容;
4> git commit -m “修改内容:xxx”
5> git push origin HEAD:refs/for/targetbranch
5、拉取代码失败
1> 确认拉取方式是否为带hook的ssh
git clone ssh://chenxiaoyuan@10.75.9.60:29418/CGDL-F25/src/mate-related && scp -p -P 29418 chenxiaoyuan@10.75.9.60:hooks/commit-msg mate-related/.git/hooks/
2> 确认自己的ssh公钥是否重新生成过,或者没有添加至gerrit帐户的认证信息中。
6、查看某个文件的修改历史
git log 相对路径
7、查看某次提交的修改内容
git show commit-id
gerrit管理下的git代码提交小技巧的更多相关文章
- 常用git代码提交命令
知识点:本篇博客记录了日常开发中,所涉及到git代码提交命令 (一)初始化本地仓库,提交代码,提交到远程git远程仓库 git init //初始化本地仓库 git add . //将当前目 ...
- Windows 下目录切换以及挂载小技巧
Windows 下目录切换以及挂载小技巧 一.前言: 作为几年的 Linux 老用户,再购买了一款新的本本只支持 Windows(主要是Linux下的驱动)操作系统后,加之发现 Windows 提供 ...
- git代码提交与克隆
在工作中,越来越多的人会使用git来管理代码.下面简单的介绍一下git在工作中的使用流程 1.给你一个git地址,将代码拉下来基本操作流程如下: 1.1 git clone "项目地址&qu ...
- Git代码提交报错 (Your branch is up to date with 'origin/master)
一.前言 今天码云上提交自己本地的一个SpringBoot+Vue的小项目,由于前端代码提交第一次时候提交码云上文件夹下为空,于是自己将本地代码复制到码云拉取下来代码文件夹下,然而git add . ...
- CENTOS下搭建git代码仓库 ssh协议
centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限 git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或 ...
- git代码提交步骤,教程
代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存的文件 5.同步到服务器 1. 查看目前代码的修改状态 提交代码之前 ...
- linux下创建git代码
1.创建一个新的repository: 先在github上创建并写好相关名字,描述. $cd ~/hello-world //到hello-world目录 $git init ...
- arc下内存泄漏的解决小技巧
一定要注意,我们运行app时,一定要关心内存的使用,尽量不要超过20M,即使有很多图片要显示也绝对不能超过30M.所以运行自己开发的app时多关心内存的使用是个很好的习惯. 对于性能,内存的优化,这个 ...
- git代码提交方式
https://my.oschina.net/tearlight/blog/193921 <a>github的提交方式 (1)git add .----------------- ...
随机推荐
- 吴裕雄 05-mysql删除数据库
drop database <数据库名>; 例如删除名为 RUNOOB 的数据库:drop database RUNOOB; 使用 mysqladmin 删除数据库你也可以使用 mysql ...
- Socket通讯-Netty框架实现Java通讯
Netty简介 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty ...
- Java计算计算活了多少天
Java计算计算活了多少天 思路: 1.输入你的出现日期: 2.利用日期转换,将字符串转换成date类型 3.然后将date时间换成毫秒时间 4.然后获取当前毫秒时间: 5.最后计算出来到这个时间多少 ...
- Java中构造函数传参数在基本数据类型和引用类型之间的区别
Java中构造函数传参数在基本数据类型和引用类型的区别 如果构造函数中穿的参数为基本数据类型,如果在函数中没有返回值,在调用的时候不会发生改变:而如果是引用类型,改变的是存储的位置,所有不管有没有返回 ...
- Cisco & H3C 交换机 DHCP 中继
个人理解:其实在核心交换上配置dhcp 中继也就是短短的几条命令,主要是注意细节,具体配置如下,希望能帮到大家: DHCP服务器IP:192.168.1.100 CISCO: 第一步:开启交换机的dh ...
- Python+Selenium学习--启动及关闭浏览器
场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个iframe,如之前iframe介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是div 形式的,这就让我们 ...
- JAVA去重
JAVA中去掉空格 1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 ...
- unity缓动插件DOTween Pro v0.9.680
DoTween Pro是一款unity插件,是unity中最好用的tween插件,比起Dotween的免费版要多很多功能,实现脚本和视觉脚本的新功能,支持包括移动,淡出,颜色,旋转,缩放,打孔,摇动, ...
- manipulate
manipulate - 必应词典 美[mə'nɪpjə.leɪt]英[mə'nɪpjʊleɪt] v.控制:摆布:(有技巧地)使用:巧妙地处理(问题等) 网络操纵:被操纵:被控体 变形第三人称单数: ...
- 【Linux 线程】线程同步《二》
1.读写锁 与互斥量类似,但读写锁允许更高的并行性.其特性为:写独占,读共享. 读写锁状态: 一把读写锁具备三种状态: (1)读模式下加锁状态 (读锁) (2)写模式下加锁状态 (写锁) (3)不加锁 ...