在我的存储库中,我有一个从head分离的分支,在那里我添加了同名的文件夹,其中包含不同的文件。每次我想提交某个文件时,我都会手动删除存储库中的文件夹,并添加一个同名但内容不同的新文件夹,然后提交并推送。问题是,当我签出我过去的一个提交时,我会看到那个文件夹,它包含所选提交和过去提交的内容,但我只想看到具体提交的内容。所以,我想问,有可能做到这一点吗?我应该如何实现这一点?也许我应该使用某种git命令从我的repo中删除这些文件?(但如果是真的,我想确保上次提交的文件不会丢失)。
每次提交之前,还应该从跟踪的文件中删除git跟踪的目录中的所有文件,执行git rm your_directory
。
如果您不这样做,git将记住您在上一次提交中有其他文件,并将添加差异,而不删除新提交中不存在的文件。
因此,您需要告诉git您正在删除这些文件,然后在新目录的副本之后,使用git add your_directory
再次添加新文件。
这种方式git将:
- 了解它必须删除旧文件/目录
- 添加新文件/目录
您只需要在"文件系统级别"上手动执行相同的操作,也可以在<em]"git级别">上执行。
让我知道这是不是你想做的!如果成功的话!
您似乎希望在不公开其完整历史记录的情况下查看提交。我认为最好的方法是使用孤立分支。
你知道-
git --orphan <new_branch>
这将把你切换到一个干净的新分支,然后你可以签出到你想要的提交,这将是一个没有任何历史记录的父提交。