执行合并操作时,遇到冲突,暂时又不想解决冲突,可以通过以下命令撤销合并:
最新版本时:
git merge --abort
版本早于 1.7.4 时:
git reset --merge
版本早于 1.6.2 时:
git reset --hard
注:git merge --abort
is equivalent to git reset --merge
when MERGE_HEAD
is present.
执行合并操作时,遇到冲突,暂时又不想解决冲突,可以通过以下命令撤销合并:
最新版本时:
git merge --abort
版本早于 1.7.4 时:
git reset --merge
版本早于 1.6.2 时:
git reset --hard
注:git merge --abort
is equivalent to git reset --merge
when MERGE_HEAD
is present.
标签通常用于标记历史上一些重要的时刻,通常用于记录发布新版本。
git tag
使用 Shell 通配符模式
git tag -l 'v1.*'
git tag v1.2
git tag -a v1.3 -m "commit message"
git show v1.3
有时忘记打标签了,不要怕,还有补救的方法。
git tag -a v1.3.1 <commit>
推送单个标签
git push origin v1.3.1
推送全部标签
git push origin --tags
git tag -d v1.3.1
git push origin --delete tag v1.3.1
git push origin :refs/tags/v1.3.1
将 old 标签重命名为 new
git tag new old git tag -d old git push origin :refs/tags/old git push --tags
此前曾写过一篇介绍Git安装的文章,今天来写点Git配置那些事儿——git config
。
因为Git是分布式的版本控制工具,没有一个中心仓库向你询问用户名和密码,在你向本地仓库提交的时候,也需要这些信息,可以通过git config进行配置,如下:
git config user.name hutushen222
上面的命令将配置数据存储到当前项目的.git/config文件中,不过可以使用“–global”、“–system”、“–file”来修改存储的位置,具体如下:
项目级别配置可以覆盖全局/系统级别的配置,全局级别的配置可以覆盖系统级别的配置。
Git的配置选项很多,有100多个,我常使用的也就那么几个,因为是每个项目都要用到的,所以都使用“–global”进行全局配置。
user.name
设置提交时使用的用户名 。
git config --global user.name "Jack Jordan"
user.email
设置提交是使用的邮箱。
git config --global user.email example@gmail.com
core.ui
设置该选项的值为auto或always后,命令行git将使用不同的颜色展示不同类型的内容,比如已经未添加到暂存区的文件显示为红色,等待提交的文件显示为绿色;git diff查看差异时,移除的行显示为红死,添加的行显示为绿色。
git config --global color.ui auto
alias.*
设置git命令的别名。我此前使用的是SVN,习惯了那些简短的命令,不过通过设置,Git也可以使用同样的命令。
git config --global alias.co checkout git config --global alias.st status git config --global alias.ci commit
core.editor
设置提交时使用的编辑器。
git config --global core.editor vim
merge.tool
合并差异时使用的工具。
git config --global merge.tool meld
Git是一个分布式版本控制系统,对应的是SVN、CVS这样的集中式版本控制系统。
虽然知晓并安装Git是很久以前的事情了,但是我却没怎么用过,一直使用的是SVN。在《Pro Git》中看到的Git的好处有:
当然还有其他的好处,但是我没有体验过,无法很好得描述,等以后有经验了在补充吧。
Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
apt-get install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
到Git官方站点下载最新的源代码,如当前最新版 1.7.4.4。
编译安装命令
tar -zxf git-1.7.4.4.tar.gz
cd git-1.7.4.4
make prefix=/usr/local all
sudo make prefix=/usr/local install
这种方法安装方便,我使用的就是这个方法,但往往不是最新版本的Git,如我的版本就是1.7.2.1。
apt-get install git-core
使用二进制包安装后,发现并没有安装Git的帮助手册,源代码安装后是否有类似的情形就不知道了,如果有也可以用以下的方法进行安装。
使用git --version
查看自己安装的Git版本。
然后现在对应的帮助手册,并解压到相应的位置:
curl -O "http://kernel.org/pub/software/scm/git/git-manpages-1.7.2.1.tar.bz2"
sudo tar xjv -C /usr/local/share/man -f git-manpages-1.7.2.1.tar.bz2
你还可以复制执行下面的脚本,轻松搞定手册安装:
cd /tmp
curl -O "http://kernel.org/pub/software/scm/git/git-manpages-`git --version | awk '{print $3}'`.tar.bz2"
sudo mkdir -p /usr/local/share/man
sudo tar xjv -C /usr/local/share/man -f git-manpages-`git --version | awk '{print $3}'`.tar.bz2
使用Git初始化项目的时候,你可能会遇到如下的警告信息:
warning: templates not found /usr/local/share/git-core/templates
原因是由于模版目录的读写权限造成的,使用如下命令变更模版目录的读写权限即可:
sudo chomd -R 755 /usr/local/share/git-core/templates/
Gonna Sailing
==END==