我有很多旧的脚本想导入到GitHub。我想知道是否有一种方法可以添加在git开始跟踪更改之前发生的历史。
**现在正在发生的事情:**我在Github或本地git上做了一个repo。我添加了旧的脚本文件,看起来像是我刚刚在git中创建的文件,但该文件可能是几年前创建的。
示例文件
!/bin/bash
# <date> created this script to do this
# yyyymmdd added feature
# yyyymmdd fixed something
我在更新文件的标题中跟踪我的更改。有没有办法在新的git repo中添加版本控制信息?
如果有更好的方法来添加旧脚本的历史,让我知道。
1条答案
按热度按时间nr7wwzry1#
可以只使用一个repo来完成它,但是在这个过程中使用两个单独的repository可以使它更容易,并且提供更少的错误机会。
首先,创建一个新的、空的Git repo并添加你的文件:
一旦你有了它,现在是时候把两个存储库嫁接在一起了:
此时,当您运行
git log
或gitk
时,您应该会看到嫁接的历史,看起来您的脚本总是仓库的一部分。最终,您希望使用
git filter-branch
持久化嫁接的历史。请注意,这将更改 * 您现有repo* 的所有提交的提交哈希值!最后,将重写的历史包推送到现有的repo/upstream或获取重写的历史。如果这个repo是共享的,那么每个拥有克隆的人(如果你有同一个repo的多个克隆,那么你也是)都需要丢弃他们的本地版本,并用新的重写的历史来替换它。