执行合并操作时,遇到冲突,暂时又不想解决冲突,可以通过以下命令撤销合并:
最新版本时:
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