分类: Git

将github上的多笔commits合并成为一条commit

2021年1月14日

首先Github是Git仓库提供商之一,其他git仓库提供商包括GitLab、Bitbucket等。Github网站上并没有合并提交的办法。我们必须从本地修改Git仓库,然后推送到GitHub(或其他Git仓库提供商)。 本地Git仓库可以直接用Git命令行操作,但非常不直观。建议Windows或U […]

Git笔记

2020年2月22日

Push remote branch to a given sha 如图,我想要把origin/master移动到8ff881。 不能用简单的push命令,它会把origin/master push到local master (dafac0)的位置。应该用命令 git push origin 8ff […]

版本控制中的三方合并

2019年10月28日

在学习Git时,一般会学到Git的合并方式,除了快进之外,还有三方合并(three way merge)。三方合并也是Subversion等传统版本控制软件的合并策略。本文讲解什么是三方合并,为何需要三方合并,为何不使用两方合并。 同一个文件现在有以下两个分支,1bdd3be5和d6c1b0e2为这 […]

repo工具笔记

2019年2月22日

官方的《Repo 命令参考资料》极不全面,很多选项没有!只能用repo help init,或者去https://gerrit.googlesource.com/git-repo/+/master/subcmds/init.py查看源代码。 repo克隆仓库(并检出分支) [1]给出的命令是 rep […]

git svn fetch error: 182135 = 1234abcdef already exists! Why are we refetching it?

2018年9月14日

症状 我有一个SVN仓库和Git-SVN仓库,两者进行同步。SVN仓库里面有几个提交时间戳不正确,同步到Git-SVN仓库后,时间戳也是不正确的。我手动修复了SVN仓库里的提交时间戳,如图1,然后如何修复Git-SVN仓库里的提交时间戳? 图1:r182136的时间戳已经被修复,现在要修改63a95 […]

Git GUI客户端测评

2018年6月2日

我认为,Git GUI客户端有两种。一种是简单的Git外壳,把命令行操作封装成图形界面,这类工具有TortoiseGit。另一种客户端是Git仓库管理工具,它们可以定期更新Git本地仓库,更新子模块。 Git外壳 我今天要找一下哪些Git GUI客户端支持–find-copies-harder,于 […]

gitattributes用法

2018年2月3日

.gitattributes文件是立即生效的,不用签入版本控制,并且具有回溯力(对以前的文件也有效果)。

合并A到B是什么意思?

2017年9月14日

Git里我们经常创建分支最后将它们合并,但是合并A到B、合并B到A、把A和B合并在一起,这三种动作的意思相同吗?本文解释这个问题。 设当前分支为B,合并A。如果是快进合并,则A和B会指向同一提交。在可快进的情况下,合并A到B与合并B到A的效果相同。 但是如果不可快进,会产生一个新的合并提交,提交说明 […]

git svn逐步获取旧历史

2017年9月8日

git svn克隆时可选择从svn的哪次提交开始克隆。如果svn仓库很大,git svn克隆就很慢。我们一般都会获取最近的svn历史,然后就开始工作。那么能不能在闲暇时间继续获取更久远的历史呢?本文提供一些方法。 方法一:变基 git svn先克隆最近的历史,如-r 29999:30010,假设30 […]

撤销Github上的提交

2016年7月11日

我的提交历史为 a->b->c->d,我想要令d消失。 [code lang=”bash”] git reset –hard d的标识符 git push -f [/code]