Tag: git新

为什么我不能从一个浅层克隆推出?

git clone –depth命令选项说 –depth <depth> Create a shallow clone with a history truncated to the specified number of revisions. A shallow repository has a number of limitations (you cannot clone or fetch from it, nor push from nor into it), but is adequate if you are only interested in the recent history of a large […]

在Git中重新进行合并

我在这里遇到了一些问题:我在Git中有一个特定于问题的分支28s ,我在一般的develop分支中合并。 原来我做得太快了,所以我用git-revert来撤销合并。 然而,现在合并28s开始develop的时候到了,但合并指挥看到了原来的合并,高兴地宣布一切正常,分支已经合并了。 现在我该怎么做? 创build“还原”还原“28s – >开发”“'提交? 似乎不是一个好办法,但目前我无法想象任何其他方法。 什么树结构看起来像:

“git reset”和“git checkout”有什么区别?

我一直认为git reset和git checkout是一样的,从这个意义上来说,这两个方法都使项目回到了特定的提交。 不过,我觉得他们不可能完全一样,因为这是多余的。 两者的实际区别是什么? 我有点困惑,因为svn只有svn co才能恢复提交。 添加 下图解释了这种差异,尽pipe可能过于简单或不正确。 你怎么看? 这是错误的还是过于简单? 加2 VonC和Charles很好地解释了git reset和git checkout之间的区别。 我目前的理解是, git reset会把所有的变化都还原到一个特定的提交,而git checkout或多或less地为分支做准备。 我发现下面的两个图很好用来达成这个理解: 加3 从http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html ,结帐和重置可以模拟基地。 git checkout bar git reset –hard newbar git branch -d newbar

部分克隆与Git和Mercurial

是否有可能在Git和Mercurial中只克隆一个分支(或从一个给定的提交)? 我的意思是,我想克隆一个中央回购,但因为它是巨大的,我只想得到它的一部分,仍然能够回馈我的变化。 可能吗? 就像,我只想从标签130或类似的东西? 如果是这样,怎么样?

git索引包含什么?

Git索引究竟包含什么,以及我可以使用什么命令来查看索引的内容? 更新 感谢您的答复。 我知道索引是一个中转区,索引中的内容是索引而不是工作树。 我只是好奇索引对象是由什么组成的。 我想这可能是一个文件名/目录名,SHA-1对的列表,一种虚拟树也许? 有没有,在Git术语中,我可以使用任何pipe道命令来列出索引的内容?

推送到非纯粹的Git存储库

我通常通过ssh(screen和vim)在远程服务器上工作,在那里我有一个Git仓库。 有时我不在线,所以我在我的笔记本电脑上有一个单独的存储库(从我的远程克隆)。 但是,我无法从远程端的这个存储库中获取,因为我通常在防火墙后面,或者我没有公共IP。 我读过,我应该推到一个裸仓库。 我应该如何将更改推送到远程存储库?

致命的:早期的EOF致命的:索引包失败

我GOOGLE了,发现了很多解决scheme,但没有为我工作。 我试图通过连接到LANnetworking中的远程服务器从一台机器克隆。 从另一台机器运行此命令会导致错误。 但是在服务器上使用git://192.168.8.5 …来运行SAME克隆命令是可行的,并且是成功的。 有任何想法吗 ? user@USER ~ $ git clone -v git://192.168.8.5/butterfly025.git Cloning into 'butterfly025'… remote: Counting objects: 4846, done. remote: Compressing objects: 100% (3256/3256), done. fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s fatal: early EOF fatal: index-pack failed 我已经在.gitconfig添加了这个configuration,但也没有帮助。 使用git版本1.8.5.2.msysgit.0 [core] compression = -1

Git提交范围中的双点“..”和三点“…”之间有什么区别?

一些Git命令需要提交范围,一个有效的语法是用两个点分隔两个提交名称,另一个语法使用三个点… 两者有什么区别?

如何挑选多个提交

我有两个分支。 提交a是一个头,而另一个有b , c , d , e和f在上面。 我想将c , d , e和f到第一个分支而没有提交b 。 使用樱桃捡起很容易:首先结账第一个分支樱桃逐一挑选c到第二分支到第一个分支。 但是有什么办法可以在一个命令中挑选所有的c – f ? 以下是该场景的视觉描述(感谢JJD ):

如何从另一个分支完全replacegit中的master分支?

可能重复: 在git中将当前分支更改为master 我在git仓库中有两个分支: 主 seotweaks(最初由高手创build) 我创build了seotweaks ,意图将其快速合并回master ,不过这是3个月前的事情,而且这个分支中的代码比master代码早13个版本,因为主代码中的所有代码更多,所以它已经成为我们的工作主分支。现在不太陈旧了。 我知道很不好的做法,经验教训。 你知道我可以用seotweaks所有内容来replacemaster分支的所有内容吗? 我可以删除master和merge中的所有内容,但这并不是最佳实践。