作为一名开发人员,提交代码那是家常便饭,那如何有效地利用Git进行提交代码呢?在这里介绍一些常用、必要的命令,几乎够工作中使用了。

(1)git pull 命令:拉取代码,这条命令没啥说的了,在提交代码之前必须要更新最新的代码库;

(2)git stash命令:在git pull后可能会遇到代码冲突的问题,那如何处理比较好呢?首先,输入git stash命令,将自己修改过的代码暂存起来;然后,输入git pull命令更新一下代码;接着,输入git stash apply或者git stash pop命令,它会自动将远程代码和本地代码合并,在该命令后若还是出现代码冲突的话,那么先用git status命令,查看有哪些文件是冲突的,然后通过git diff命令查看冲突的地方,你可以通过vim命令直接修改,也可以通过文件编辑器进行修改,保存修改后的文件,用git add 命令将该文件添加至缓存区;最后输入git stash apply或者git stash pop命令,这样就可以顺利地解决远程代码和本地代码冲突的问题了;

(3)git commit --amend命令:该命令是在上一次最近的git commit的基础重新提交,不过需要注意的是不能运行git pull命令进行更新代码哦,这个命令很有用,在CI中若是需要对某个文件修改多次的话,那么该命令就派上用场了,在流水线上我们会看到相同的jobID携带了不同的序号,例如:jobID.1 、jobID.2、jobID.3……

(4)git push命令:要将代码提及至远程代码库中就需要改命令,刚开始的时候我们会这样输入命令git push origin HEAD:refs/for/master%r=xxx@xxx,r=aaa@aaa;不同的评审人员邮箱之间用逗号隔开,注意了,我这里是在master分支上提交代码,当然你可以根据要求的代码分支进行提交,比如develope分支,就输入git push origin HEAD:refs/for/master%r=xxx@xxx,r=aaa@aaa;要是每次都是这样输入的话,那是不是很费劲呢,有时候还会输入错误呢;那有么有更好的方式呢?当然是有的,接触别名的方式可以简化上述命令,首先找到Git的配置文件.gitconfg文件,在该文件中添加这样一条别名:apple= push origin HEAD:refs/for/master%r=xxx@xxx,r=aaa@aaa  后续直接输入git apple命令就可以完成代码提交了,这样可以很方便地记住,也避免了重复输入复杂的语句而导致输入错误的情况;

(5)git push的时候可能会遇到提示change-id已丢失,出现这种情况时,首先看看代码目录下的.gti/hook下是否存在commit-msg文件,若不存在的话,就根据错误提示将该文件下载下来,然后输入git commit --amend命令,一定要这么做,不然还是不会生成change-id号;若是不存在commit-msg文件的话,那么输入git status命令,查看本地代码是不是出现merged过代码,若是这样的话,那你只好先git stash,然后git reset HEAD^^^,^的数量至少能够让你的代码会退到merged过这条log之前,接着就是git pull命令更新代码,其次就是git stash apply或者git stash pop命令,最后就是git push命令提交代码了。

(6)每次commit一次,是不是都要立马git push呢?其实不然,你可以分多个changeId,多次commit,最后统一一次git push操作即可。

------20191014勉

最新文章

  1. 利用Shell脚本将MySQL表中的数据转化为json格式
  2. IOS 绘制圆饼图 简单实现的代码有注释
  3. weboffice控件使用不能嵌入网页
  4. 关于如何在cenos7.0上实现mysql数据库远程连接
  5. ittun配置和使用教程
  6. 红帽中出现”This system is not registered with RHN”的解决方案
  7. java.util.zip.Deflater 压缩 inflater解压 实例
  8. Gradle入门系列(转)
  9. 转:【Java并发编程】之四:守护线程与线程阻塞的四种情况
  10. Win10 UWP Intro to controls and events
  11. Centos下Sphinx中文分词编译安装测试---CoreSeek
  12. Windows安装SVN服务器和客户端
  13. 在Vue项目中使用Element UI:按需引入和完整引入
  14. jmeter简单得压力测试
  15. iOS开发-实现相机app的方法[转载自官方]
  16. 微信怎样做SEO
  17. Eclipse出现An error has occurred,See error log for more details的错误
  18. cocos2d-x中关于打包成APK的问题
  19. disable的错误使用
  20. 优化 UWP 中图片的内存占用

热门文章

  1. 安装ik分词插件
  2. [转]java 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?
  3. Linux中Hadoop的安装与配置
  4. [Redis-CentOS7]Redis列表操作(三)
  5. .NET Core之单元测试(四):Fluent Assertions的使用
  6. C#基础知识学习(1)方法的重写和隐藏
  7. 在React中使用WebUploader实现大文件分片上传的踩坑日记!
  8. 关于OFFICE 文件在线编辑dsoframer
  9. HTML连载70-相片墙、盒子阴影和文字阴影
  10. Maven 多模块开发