活用git rebase -i 就可以解决绝大部分补丁整理的问题。
假如我们有以下补丁:
=========
commit 03bb9a14f5ea00d51d2edc14587b37b1ab9ccf5d
Author: YongHao Hu christopherwuy@gmail.com
Date: Fri Jul 10 17:23:02 2015 +0800
msvcp110: Add tr2_sys__Unlink implementation and test.
commit 24137cd93c783ced61ca152cb4384287e6859ba4
Author: YongHao
继续阅读 »
在开发java、javaee等项目时,我们经常会使用eclipse或者myeclipse等ide工具,随着互联网的发展源代码的管理工具也随着不断的变化,从开始的vss、cvs、svn到现在的分布式管理工具git,目前git作为版本控制软件是非常受大家欢迎的。所以我们工作中需要在ide上集成git插件。在eclipse中,egit是其基金会开发的一个插件。
继续阅读 »
Configuring a remote for a fork
List the current configured remote repository for your fork.
$git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
继续阅读 »
修改历史
2016-07-29 修改部分内容
如果项目很大,分为众多模块,并且需要对每个模块单独进行版本控制的时候,引入git submodule是一个非常不错的选择。尤其是对一些sdk+plugin的项目尤为适用。
more
继续阅读 »
使用git archive可以将传入的文件列表打包为一个zip档案。对于一些大系统,如果只是修复bug,可以做到热替换的话(比如php,js等解释型语言),可以使用此命令将修改的文件添加到zip档案,以提交局方升级。
more
将整个仓库打包
继续阅读 »
<a href="/Source/images/post-content/post-title/post-example.png">
<img data-src="/Source/images/post-content/post-title/post-example.png" class="lazyload" alt=" " />
</a>
继续阅读 »
针对单一工程排除文件
针对单一工程排除文件,这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一份规则。在工程根目录下建立.gitignore文件,将要排除的文件或目录写到.gitignore这个文件中,有两种写入方法:
① 使用命令行增加排除文件
例如排除以.class结尾的文件
bash
echo "*.class" > .gitignore
例如排除bin目录下的所有文件
bash
echo "bin/*" > .gitignore
注意,如果需要排除多级目录下的文件,比如bin/classes/A.class
那么.gitignore中的内容应该
继续阅读 »
PS:本文所有$符号之后为在终端中执行的命令。
版本控制系统
版本控制
版本控制(Version Control)的作用是追踪文件的变化。为什么需要版本控制?简单说,就是当你出错了,可以很容易地回到没出错时的状态。
你可能已经在不知不觉中,布置了自己的版本控制系统。比如,创建了类似下面这样的文件名:
论文_0510.doc
论文_0514.doc
论文_0521.doc
论文_修改版.doc
论文_最终不修改版.doc
这就是软件中为什么有"Save As"命令的原因。它使得你可以在不破坏源文件的基础上,得到一个类似的新文件。文件的多版本保存是一个常见问题,通常的解决办法是这样的:
做一个文件备份(比如Document.
继续阅读 »
git fetch origin
git reset --hard origin/master
继续阅读 »
上篇介绍了Gerrit的安装与配置,本篇介绍的是Gerrit的使用
more
生成ssh key
Windows下,打开gitbash等终端工具输入ssh-keygen生成公钥和私钥
Linux下直接在终端命令中输入ssh-keygen
shell
$ssh-keygen
继续阅读 »