Git的精简用法
作为一名开发人员,提交代码那是家常便饭,那如何有效地利用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勉
Git的精简用法的更多相关文章
- Eclipse Git和sourceTree用法
Eclipse Git和sourceTree用法 Eclipse Git: 提交代码到git: 1.team->Repository->pull 若没有冲突: 2.team->com ...
- git的基本用法——我的日常使用
git的基本用法 一,前言 网上有太多关于git的用法说明,而我看得云里雾里,可能是本人比较愚笨.平常时间老问别人又觉得很不好意思,估计大多的同学们都是自己解决.后来我想到了买一本书,淘宝上git书籍 ...
- Git merge && git rebase的用法
Git merge的用法: git merge Dev // Dev表示某分支,表示在当前分支合并Dev分支 git merge -m “Merge from Dev” Dev //-m可以加上m ...
- git clone、git pull和git fetch的用法及区别
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...
- Git的一些用法
三. Git的一些用法 1. .gitignore文件 屏蔽文件 : .gitignore文件是告诉Git哪些目录或者文件需要忽略, 这些文件将不被提交; 常用场景 : 写完代码后会执行变异调试等操作 ...
- git日常基本用法
git作为项目管理现在已经是越来越广泛应用,结合自己平时的一些基本操作加上git说明文档里面的一些补充,我总结了一下git的基本用法: mkdir project # 创建项目目录 cd projec ...
- github+git提交 基础用法
git版本管理基本用法: 安装就不用说了 随便一搜 安装完 妥妥的.下边说的是在github从新建一个项目开始: 1.首先打开自己的github地址,如下图所示 点加号 选 New repositor ...
- 问题: 查看某个文件的修改记录| git log 高级用法
参考文章: git查看某个文件的修改历史 5.3 Git log 高级用法 基本步骤 git log --pretty=oneline [文件名] git show [节点] git log 两周高级 ...
- Git stash 常见用法
Git stash git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复 1.1 git stash 保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时 ...
随机推荐
- c++ 类成员的初始化顺序
class TestClass1 { public: TestClass1() { cout << "TestClass1()" << endl; } Te ...
- java中深拷贝浅拷贝简析
Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...
- 并发编程之Master-Worker模式
我们知道,单个线程计算是串行的,只有等上一个任务结束之后,才能执行下一个任务,所以执行效率是比较低的. 那么,如果用多线程执行任务,就可以在单位时间内执行更多的任务,而Master-Worker就是多 ...
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之一(三十七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- VFP调整本机日期时间与服务器日期时间一致
*!*调整本机日期时间与服务器日期时间一致( YYYY-MM-DD HH:MM:SS.FFF )*!*以下cSqlStr及nCon为SQL查询串及连接句柄cSqlStr="Select Sy ...
- Spring MVC系列之JDBC Demo(SpringBoot)(七)
前言 前面我们了解了Spring MVC的基本使用,其实和.NET或.NET Core MVC无异,只是语法不同而已罢了,本节我们将和和数据库打交道,从最基础的JDBC讲解起,文中若有错误之处,还望指 ...
- 使用Vue.prototype在vue中注册和使用全局变量
在main.js中添加一个变量到Vue.prototype Vue.prototype.$appName = 'My App' 这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创 ...
- 2019年终总结之SAP项目实践篇
2019年终总结之SAP项目实践篇 到了临近年底,又是年终总结的时候了. 早在去年12月下旬,笔者就有展望2019年度SAP项目实践计划.当时笔者对于在2019年度SAP项目工作有三大期望或者说三大目 ...
- Java基础之三、类的特性和接口
类的派生.多态.抽象类.接口 1:派生-extends 派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加.重写字段和方法: 在类的派生中,构造函数不可以被继承: 派生源的类-父类/基类/超 ...
- 1.Android网络编程-HTML介绍
1.HTML介绍 超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 在Eclipse下则可以使用自带的浏览器浏览html: 2.H ...