【问题标题】:I pushed gemfile and gemfile.lock to my branch, do I have to merge to master?我将 gemfile 和 gemfile.lock 推送到我的分支,我必须合并到 master 吗?
【发布时间】:2016-03-30 07:58:02
【问题描述】:

我对 9 个文件(其中 2 个是 Gemfile 和 Gemfile.lock)进行了 git add、git commit 和 git push。我的团队通知我,我们在代码审查中不需要 Gemfile 和 gemfile.lock。还原这两个文件的最简单方法是什么? (我想保留其他 7 个)。我将这些更改推送到我的分支,当我合并到 master 时我可以忽略它们吗?或者我应该以某种方式恢复对 2 个文件(Gemfile 和 gemfile.lock)的更改?

【问题讨论】:

  • 你的分支有多少次提交?
  • master 是否已经包含 Gemfile 和 Gemfile.lock 的版本?
  • @meagar 是的。
  • 您的提交是否不依赖于 Gemfile 中的更改(假设您添加了 gem?)

标签: ruby-on-rails git github


【解决方案1】:

最简单的方法是将GemfileGemfile.lock 重置为master 上的当前状态。

您可以通过两种方式做到这一点;通过添加一个新的提交来丢弃您对这些文件的更改,或者通过修改引入这些更改的任何提交。

前者是最简单的。在您的分支上添加一个新的提交,它会丢弃您对GemfileGemfile.lock 所做的更改:

  1. 使用 Gemfile 和 Gemfile.lock 以当前状态检查您的分支
  2. 查看masterGemfileGemfile.lock 版本:

    $ git checkout master -- Gemfile Gemfile.lock
    
  3. 添加并提交您的更改

    $ git add Gemfile Gemfile.lock
    $ git commit -m "Discard changes to Gemfile and Gemfile.lock"
    

现在您可以推送了,更改将从您的分支中消失。

请注意,这是更简单的解决方案,但它会使您的分支处于稍微奇怪的状态,引入和删除对某些文件的更改。完成此操作后,您可以在合并之前squash your entire branch down to a single commit,所有对GemfileGemfile.lock 进行不必要的更改的历史都将被丢弃。

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 2012-10-23
    • 2017-04-24
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2017-04-16
    • 2014-03-15
    • 2021-04-16
    相关资源
    最近更新 更多