【问题标题】:need help in rebase in github在 github 中需要 rebase 帮助
【发布时间】:2020-11-16 11:46:18
【问题描述】:

我是 github 新手,第一天就犯了一个错误。 我应该在其中一个功能分支上编辑代码 不小心,我签出了一个不同的功能分支并在那里添加了更改并推送它。

错误:

  • 我从master 克隆。检查了一个不同的功能分支。添加了我更新的 python 代码文件。跑git commit 并推送更改。这导致许多对象被更新,而不仅仅是一个。
git clone https://github.aop-site.com/AOP/AOP_DEPT.git
git checkout feature/BARC-125
git add compute_code.py
git commit - m "qwsasa"
git push

我应该做的:

  • 我应该创建一个不同的功能分支,检查并添加更改并推送相同的内容。
  git clone https://github.aop-site.com/AOP/AOP_DEPT.git
  git checkout feature/BARC-149
  git add compute_code.py

请求: 如何修复我在错误部分所做的更改(错误部分)?

【问题讨论】:

  • 您在这两种情况下所做的只是暂存一个文件。没有什么是永久的。只需取消暂存并继续使用正确的分支。
  • 另一位开发人员正在开发该功能。我也做过 - git commit 和 git push

标签: git github git-branch rebase


【解决方案1】:

您可以将不小心添加代码的分支重置为之前的提交,其中
git reset --hard 2f93ndms - "2f93ndms" 是分支提交,在 github 上该分支的提交旁边可见。

一旦该分支被重置,您可以使用 git push -f **origin** **branch-name** 重新推送
-f 是一个强制标志,因为您不会将之前推送的代码视为错误,它不会让您通常推送到 repo。 -f请谨慎使用。

如果你需要变基,这就是我的顺序。

  1. 如果您有 github 存储库,请检查您的 master 分支,git pull 以确保它是最新版本。
  2. 检查您的功能分支
  3. git rebase -r master
  4. 如果您有冲突,请更正它们并添加带有git add db/schema.rb 的文件 - 示例
  5. 如果 rebase 因冲突而暂停,请继续使用 git rebase --continue

【讨论】:

    【解决方案2】:

    一旦代码被推送,那么尝试修改该代码的历史记录是一种非常糟糕的做法(除非这是一个您独自工作的分支,但在这种情况下创建另一个分支会更好)

    在这种情况下,最好的解决方案是还原更改并将其推送,稍后从新分支签出 - 还原更改 - 并重新引入您在旧分支中所做的更改。

    如果重新引入更改很乏味,那么您可以还原还原,或者挑选您需要的提交。

    【讨论】:

      猜你喜欢
      • 2011-11-22
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 2014-06-27
      相关资源
      最近更新 更多