我有一个项目,我已经工作了大约一年。我将项目保留在git上,并经常提交,因此它有很多历史记录和大量以前的数据,但原始的本地文件已损坏。我从Github下载了我项目的最新版本。我想将这个新的本地项目移动到现有的回购并保留其所有历史记录,我该怎么做?
答案 0 :(得分:0)
如果我理解你是正确的,那么你有一个本地版本的存储库和一个远程存储库。并且他们都有不同的提交历史。现在,您希望将远程存储库的文件移动到本地存储库,但保留本地git存储库的历史记录。
存储库的历史记录和所有信息都可以在隐藏的.git
文件夹中找到。如果您不想将历史记录带到本地git文件夹,并且只想更新文件,则可以克隆到其他位置,然后将所需内容复制到本地文件夹而不要触摸.git
文件夹。
之后使用git status
将告诉您哪些文件已被更改。这不会影响本地git仓库的提交历史记录。
答案 1 :(得分:0)
我认为rebase
应该有所帮助。
我假设你,你在特定的分支上做了更改(比如我的工作)。首先,在您现有的本地修改仓库中,从您的远程获取最新信息(例如origin
)。
git pull -- rebase origin master
这会将远程主控的所有代码带到您当地的主控。
现在,尝试使用以下命令
在master上应用您的更改git checkout my-work && git rebase master