1
9
为了回答我认为你想问的问题: 您可以通过以下方式使整个存储库进入第一次提交的状态:
当你把事情弄得一团糟之后,你就可以做了。
而且,您可以从第一次提交时开始将单个文件置于其状态,方法是:
再说一遍,做完之后,你可以
不需要“克隆”提交(我假设您是指克隆存储库,并检查第一次提交?)。当然,如果出于某种原因,您无法忍受修改存储库中的任何文件(例如,不想使构建过期),您当然可以克隆它,然后在克隆的repo中执行完全相同的操作。 |
2
14
更新的2018年答案:使用你自己的符号参考,即标签。并开始使用
从没有收到标签但偶尔从2011年起承诺使用上述标签的回购的输出说明:
另一方面,如果你想放弃所有其他的历史,我从来没有
如果需要,复制初始集就足够容易了。如果您想引用原始的“根”提交和戳,我可以看到用例。也许看看bfg是如何工作的,
I think I want to do the same thing. 签出初始提交,然后从那里进行分支。我不确定是否接受了答案。但我想它可以(部分)解决最初的问题。不过,在阅读了这个线程之后,我将使用一些bash脚本
我希望有一些提交或树型的参考。也许可以列出标记为根的节点,但我想Git本身不会跟踪这个。因此,此方法只在只有一个根提交的存储库上工作。 2017年和2018年的更新是,使用git rev list,可以更好地选择git日志,但也存在同样的问题。它们只使用提交列表的尾随项。 对于只有一个根的存储库,您可以使用以下方法签出“根提交”,它适用于大多数存储库。但这是一个黑客行为,最好检查一下您的系统为什么需要在哪里标记根提交。只需标记或记录即可。 您可以使用以下命令用一个根签出repo中的第一个提交:
或(Git<1.8.1):
见 git-revlist 而且 Using git, how do I go back to first commit then go through the history? . 〔3〕: |
3
12
如果您所说的“第一次提交”,是指没有任何父级本身的分支的父级提交,那么您希望使用git rev列表来完成这项工作。只使用
这将获得当前头部的“初始提交”。如果您列出了master或任何其他子修订规范,请使用master。把那个包起来
|
5
-1
我认为您需要做的只是从您想要的原始提交创建一个新的分支,检查这个分支,然后再合并到您正在处理的分支的头部。 如果ABCXYZ…是您想要的提交的sha1,并且您正在master分支中工作,这通常是您想要做的:
|
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |