到目前为止,这是我搞砸了,
我将一个rails项目从windows复制(未克隆)到linux pc
然后创建了一个新分支并进行了大量更改
最后提交了两次整个项目并将其推送到一个带有Windows行结尾的远程存储库。
问题:所以我的问题是,因为我将项目从windows复制到linux,当我运行git status时整个项目显示已修改。我没有看到我具体做出的改变。由于我承诺并推动整个项目,我失去了文件更改的历史。
需要什么:所以我想删除我的最后两次提交,但我想保留我所做的更改。然后我想将行结尾从windows转换为整个项目的unix,这样当我运行git status时,我只看到我更改的文件,而不是整个项目。然后我想提交并推送到远程。
如果有一个解决这个烂摊子的话会很好。
我不确定这是否有用,我正在开发一个rails项目,我的IDE是rubymine。
答案 0 :(得分:0)
要撤消上两次提交,请执行以下操作:
git reset --soft HEAD~2
。这会将提交中涉及的文件放入您的工作目录。git status
,它们将显示为分阶段更改(准备提交)。git pull
。 git push
确保您提交更改并在git pull
之前执行git push
,否则您的推送尝试将导致冲突并被拒绝。
答案 1 :(得分:-1)
您可以使用public void some_method< T >() where T : class1, class2
。
类似问题here。