想要获取更多文章可以访问我的博客 - 代码无止境. 在日常的开发过程中,我们一个功能可能会有很多次提交.而且我们公司的开发是不允许直接往公司仓库提交代码,所以需要fork到自己的仓库然后merge过去,这样就会导致拉代码会产生很多的commit,而这些commit其实是没有什么实际意义的.提交记录过多会导致代码review非常困难,那么今天我们就来介绍一个非常实用的命令 - git rebase,它可以将若干次提交合并成一个提交,下面我们就一起来见证一下这个骚操作吧. 准备 首先我们需要准备一个…
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较推荐使用命令行的,因为命令行是原生的客户端,当熟悉了命令行以后,使用效率并不会比GUI低.而且我是从GUI(Tortoise SVN)转命令行的,刚开始的时候也是吐槽命令行的“非人性化”,但我走出了舒适区,真正使用起命令行后,我才发现了自己之前的想法是肤浅的. 指令别名 指令别名就是给一些常用的指令…
分享git的几个小技巧,后面会根据使用补充.目前包括git撤销本地修改.git回退到前n个版本.git多用户提交冲突解决.git 命令简化.欢迎大家补充^_* 1.git撤销本地修改 git reset --hard origin/master git pull 2.git回退到前n个版本 如下为向前回退3个版本: git reset –hard HEAD~3 3.git多用户提交冲突一 场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,…
在实际工作中,一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,进行分别开发. 创建分支 功能分为2个分支,分别为A.B. A上面有个列表页功能 B上面有个详情页功能,还有个系统消息功能 产品经理说先上列表功能,于是我们就开发A分支,列表功能很快开发完成. 第二天按常理开发B分支,开发到一半,产品经理说目前的系统消息功能需要急着上线,要和列表功能一起上线,当时就懵逼了,然后赶紧放下详情页的开发,立马去开发系统消息功能,开发完之后需要将列表功能和系统消息功能…
不知道你有没有遇到这么一种情况,就是你有时候想要把电脑上的一些东西传输到你的手机或者 Pad ,你要么需要使用数据线连接到电脑,有时候还要装各种驱动才可以进行数据传输,要么需要借助第三方的工具,在局域网上传输,还有就是使用微信的文件传输助手... 不过这些操作都有些局限,比如各种驱动安装不上,第三方的工具突然傻逼,又或者突然断网,这就 wtf 了. 不过,咱这不有 Python 嘛,今天小编来跟你分享一个技巧,使用一个命令就可以把你的电脑变成服务器,这样你的手机就可以直接获取你电脑的文件了. 这…
软件开发基本都是多个feature分支并行开发,而在上线前有可能某个分支的开发或测试还没有完成,又或者是产品调整,取消了该分支功能的上线计划,我们在release前不合并该分支即可,然而如果该分支中的某些小调整却需要上线,我们就需要把其中的部分文件合并到release分支. 在之前遇到这种情况通常都是copy/paste,既麻烦出错率又高,自从我掌握了新姿势,整个世界仿佛都不一样了(暴漫微笑 在feature分支commit 切换至release分支 从feature分支检出相应文件 #bran…
1.分支管理 新建并切换分支:git checkout -b <name>新建本地分支并关联到远程分支git checkout -b myRelease origin/Release合并某分支到当前分支git merge myRelease (--no-ff)提交到远程分支 git push --set-upstream origin myRelease删除远程分支git push origin --delete myRelease 2.远程仓库 关联远程仓库git remote add or…
使用Git命令行工具的时候,经常一不小心就进入VIM界面,例如git commit没有填写任何描述信息.对于习惯了Windows可视化操作界面的用户,可能一下子会觉得无所适从,只能在键盘上一顿短按.下面简单介绍一下进入VIM界面后的操作: 1. 退出窗口 进入到VIM后,键盘没有哦按照你的预期出现结果,这是你最希望的操作就是退出,可以参考下面的操作方式: 1)按键Esc,如果无效,连续按两次 2)当底部提示行出现空白时,输入冒号":" 3)再输入字母"q",回车 (…
在合并分支之前最好保证你所有的分支都是最新的,所以你可以使用 git pull origin branchName 来拉取远程仓库到本地仓库. 假如有一个 dev 分支需要合并到 master 分支中,进行的操作步骤如下: 拉取远程仓库 master 以及 dev 分支的代码到本地仓库中: git pull origin master git pull origin dev 切换到 master 分支: git checkout master 合并 dev 分支到 master 分支: git…
转自:https://www.91ri.org/12470.html ss是Socket Statistics的缩写. 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效. [和netstat说再见的原因] 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢.可能你不会有切身的感…
不断更新收集中.... 201407161654 ssh以nx_guest的身份登录到172.24.221.137,然后在172.24.221.137与172.24.61.252的8080port建立网络连接,同一时候创建port为5678的本地代理服务 ssh -C -f -N -o 'TCPKeepAlive=yes' -L 5678:172.24.61.252:8080 nx_guest@172.24.221.137 反编译android下的二进制程序 ./prebuilts/gcc/li…
1 git提交时如何忽略一些文件: 在git根目录下添加,然后提交,就可以使用了,详细的语法详见 https://github.com/github/gitignore github提供了一个通用的.gitignore库,如果懒得自己设置,可以直接在这个库里找找有没有你想要的忽略文件. 2 提交时候报错:提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交. 原因可能是之前上传时创建的.git文件被删除或更改,或者其他人在github上提交过代码. 解决方案如下:1.强行上传 git push…
[From] https://blog.csdn.net/fenglailea/article/details/51810977 ss是Socket Statistics的缩写. 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效. [和netstat说再见的原因] 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /pr…
获取/etc/passwd目录下的UID值小于10的数,并输出第一.三列 [root@:vg_adn_tidbCkhsTest:172.31.30.62 ~]#cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t" $3}' root bin daemon adm lp sync halt mail…
git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧.   使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使用 git add file 来添加特定文件.然而,有时候你可能想只添加文件的一部分来提交.你可以用 git add -p 交互性地选择哪些你想提交的部分. 在选择完你所想要提交的区块后,只需要做一个 git commit(没有 -a),这样只会提交选中的部分.同样可以使用 git checkout…
1.变基的基本操作 在Git中整合来自不同分支的修改主要有两种方法:merge和rebase. 看下面的例子: 开发任务分叉到了两个不同的分支,并且都有了新的提交. 这时候我们可以使用 git merge 命令将experiment分支合并进入master分支,Git会将C3.C4以及两者最近的共同祖先做一个三方合并,并且生成一个新的提交.如下图所示: 其实我们还可以使用rebase命令:rebase命令将提交到某一分支上的提交都移至另一个分支上 $ git checkout experimen…
先想想一个情况,现在我们有一个功能急需要发布到线上,但是这个功能相关的代码所在的测试分(test)支有很多不应该发布的代码,那么这个时候我们就需要将与这个代码相关的提交选择性的合并到master上并发布.如果你还不知道git cherry-pick命令的话,很有可能你会从master分支上检出一个新分支,然后在把相关的代码copy到新分支上然后再合并回master.当然这么做确实可以达到最终的目的,但是手动copy很容易遗漏某些东西,那么我们这篇文章就来讲解一下git cherry-pick命令…
 想要获取更多文章可以访问我的博客 - 代码无止境. 在开发的过程中可能会经常出现下面这种情况,我们正在开发某个功能,当前分支的内容比较乱,不太适合提交,而此时我们需要切换到其他分支上处理一些事情.这个时候该怎么办呢?难道是将修改先备份然后丢弃修改再切换到另外的分支上?答案肯定是否定的,今天我们就来介绍如何使用git stash命令来完美解决这种窘境. 准备 首先我们需要准备一个git仓库,并准备两个分支(master和dev): mkdir git-test cd git-test git i…
git log 现在可以看到有3个提交: change 1.mp4 size to small //发现不能推送,又改回小于100M add 1.mp4 big 改变为超过100M add 1.mp4 添加一个小于100M的文件 commit 0b265673698e336557c781286dbc89bc89f2193f (HEAD -> master) Author: kingBook <412126604@qq.com> Date: Fri Apr 27 11:19:10 2018…
如果你想精通Git,直接到 Git官网 把这本ProGit掌握已足以Pro Git 配置用户信息 user和email,--global参数全局配置,当然你也可以不加此参数,不同的项目用不同的用户名和email git config --global user.name Super git config --global user.email 1342449****@163.com 配置全局别名 此配置在开发中相当重要,尤其是对于使用Terminal,习惯使用命令行的朋友,由于git不支持tab…
小明发现在实际项目开发过程中,总会遇到各种各样的情况,比如一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,分别开发. 项目背景 产品经理:我们本次开发三个功能,列表页功能.详情页功能.系统消息功能,分两次上线,先上列表功能,再上详情页和系统消息. 小明:好的吧. 紧接着,小明就将本次需求分为2个分支,分别为A.B. A:开发列表页功能 B:开发详情页功能.系统消息功能 原计划:产品经理说先上列表功能,那小明就先开发A分支,列表功能很快开发完成(厉害吧).…
git的几个小技巧 分享git的几个小技巧,后面会根据使用补充.目前包括git撤销本地修改.git回退到前n个版本.git多用户提交冲突解决.git 命令简化.欢迎大家补充^_* 1.git撤销本地修改   Java     1 2 git reset --hard origin/master git pull 2.git回退到前n个版本 如下为向前回退3个版本,git reset –hard HEAD~3 3.git多用户提交冲突一 场景:用户UserA修改了文件File1,用户UserB也修…
git rebase是对提交执行变基的操作.即可以实现将指定范围的提交"嫁接"到另外一个提交智商. 其常用的命令格式有: 用法1:git rebase --onto <newbase> <since> <till> 用法2:git rebase --onto <newbase> <since> 用法3:git rebase                             <since> <till&g…
一.前言 一句话,git rebase 可以帮助项目中的提交历史干净整洁!!! 二.避免合并出现分叉现象 git merge操作 1.新建一个 develop 分支   2.在develop分支上新建两个文件 3.然后分别执行 add.commit.push   4.接着切换到master分支 分别添加c.txt 和 d.txt两个文件,分别进行add.commit.push 5.现在想把develop分支上开发的部分合并到master分支上 6.git merge 会将master和devel…
C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?"例如:int? 表示可空的整形,DateTime? 表示可为空的时间.T? 其实是System.Nullable(泛型结构)的…
转自:http://blog.csdn.net/hudashi/article/details/7664631/ 原文: http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交…
git rebase 合并提交 合并最近多次提交记录 语法 git rebase -i HEAD~n 1.进入合并模式 合并最近三次提交 git rebase -i HEAD~3 然后你会看到一个像下面这样的命令窗口, 它会提示你相关的命令 注意: 看到该窗口后,按 i进入vim编辑器 2.合并操作 若需要合并2.3次提交到第1次提交,并保留第一次提交,只需要修改前缀命令 我们按ESC键, 输入:wq保存并退出 vim,接着就会进入注释comment编辑区 3.设置commit message…
Linux服务器运维小技巧scp命令详细教程. 前言 今天给大家带来的是linux中比较实用的命令scp.善用小技巧,解决工作中的痛点. 掌握一门好的技术或者说一门好的艺术,最快捷的方式就是融入到工作中. 在工作的不断鞭策之下,我其实也想偷偷懒,有时候觉得怎样简单快捷怎样来.在某种特定的工作环境下,有些操作被限制死了,只能用传统的方式传输(比如定制的商业加密U盘.光盘刻录).当你了解实际情况后,可能有更优解,你会寻求其它的突破口或者折中方案. 夸张的说法,我用了1分钟熟悉了scp的用法,并直接运…
在Android使用到am和进行一些操作是非常方便的,比如一个重复自动的操作,具体用来实现一些什么是看个人需求了,接下来说对于am和input的使用. 本文适用于已经大概去了解了am和input的朋友,如果暂时不了解,这里推荐两篇文章大家可以去看看,我就不说了,说了也多是抄,当然如果您是大牛,请忽略本文,本文主要是一些使用中的经验,和一些小技巧 am: http://blog.csdn.net/u010164190/article/details/51384099 input: http://b…
git 命令合并分支代码 对于复杂的系统,我们可能要开好几个分支来开发,那么怎样使用git合并分支呢? 合并步骤: 1.进入要合并的分支(如开发分支合并到master,则进入master目录) git pull 2.查看所有分支是否都pull下来了 git branch -a 3.使用merge合并开发分支 git merge 分支名 4.查看合并之后的状态 git status 5.有冲突的话,通过IDE解决冲突: 6.解决冲突之后,将冲突文件提交暂存区 git add 冲突文件 7.提交me…