Ruby on rails 如何完全放弃对主题分支所做的更改
在一个主题分支中,我错误地复制了一个模型和一个迁移(以前在主分支中创建),其中包括: 已创建重复模型,但迁移失败,因为数据库已具有Ruby on rails 如何完全放弃对主题分支所做的更改,ruby-on-rails,git,reset,Ruby On Rails,Git,Reset,在一个主题分支中,我错误地复制了一个模型和一个迁移(以前在主分支中创建),其中包括: 已创建重复模型,但迁移失败,因为数据库已具有users表。按照中的说明,我尝试使用git reset--hard放弃所有未提交的更改,但git status仍显示存在未跟踪的文件: # Untracked files: # (use "git add <file>..." to include in what will be committed) app/models/user.rb
users
表。按照中的说明,我尝试使用git reset--hard
放弃所有未提交的更改,但git status
仍显示存在未跟踪的文件:
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
app/models/user.rb
db/migrate/
test/fixtures/users.yml
test/models/user_test.rb
# nothing added to commit but untracked files present (use "git add" to track)
#未跟踪的文件:
#(使用“git add…”包含在将提交的内容中)
app/models/user.rb
数据库/迁移/
测试/夹具/用户.yml
测试/模型/用户测试.rb
#提交时未添加任何内容,但存在未跟踪的文件(使用“git add”跟踪)
为什么git重设--hard保存这些文件?如何安全地删除此文件,以便将主题分支完全重置为上次提交?
rails会破坏模型用户吗?
适合我吗?这些文件不是由git跟踪的(注意它们列在git状态的“未跟踪文件”下)git reset--hard
删除git跟踪的所有文件中的更改。从forgit reset--hard
:
重置索引和工作树。自提交后对工作树中的跟踪文件所做的任何更改都将被丢弃
要清除它们,只需删除它们:
rm app/models/user.rb
rm db/migrate/
rm test/fixtures/users.yml
rm test/models/user_test.rb
删除未跟踪的文件是最安全的选择。此外,您可能会看到@HBHB已经正确地说:git reset——硬的
重置刚刚跟踪的文件
但是,您也可以通过调用来使用git删除未跟踪的文件-d
也会删除未跟踪的目录,并且必须提供-f
(force),否则Git不会删除文件。我始终使用此命令:
git reset --hard HEAD~1
及
rails git:(硕士)✗ git重置--硬头~1头现在处于
45e2c462跳过Web包的管道
尝试使用git重置磁头
。可能重复感谢@RajarshiDas:)
git clean -f -d
git reset --hard HEAD~1