我为9个文件做了git add,git commit和git push(其中2个是Gemfile和Gemfile.lock)。我的团队告诉我,我们在代码审查中不需要Gemfile和gemfile.lock。恢复这两个文件最简单的方法是什么? (我想保留其他7)。我将这些更改推送到我的分支,当我合并到掌握时,我可以忽略它们吗?或者我应该以某种方式将更改恢复为2个文件(Gemfile和gemfile.lock)?
答案 0 :(得分:3)
最简单的方法是将Gemfile
和Gemfile.lock
重置为master
上的当前状态。
你可以用两种方式做到这一点;通过添加新的提交来放弃对这些文件的更改,或者通过修改引入这些更改的提交。
前者是最简单的。在您的分支上添加新的提交,放弃您对Gemfile
和Gemfile.lock
所做的更改:
查看master
的{{1}}和Gemfile
版本:
Gemfile.lock
添加并提交更改
$ git checkout master -- Gemfile Gemfile.lock
现在您可以推送,更改将从您的分支中消失。
请注意,这是一个更简单的解决方案,但它会使您的分支处于略微奇怪的状态,同时引入和删除某些文件的更改。完成此操作后,您可以在合并之前squash your entire branch down to a single commit,并且将放弃对$ git add Gemfile Gemfile.lock
$ git commit -m "Discard changes to Gemfile and Gemfile.lock"
和Gemfile
进行不必要的更改的所有历史记录。